One of the most difficult aspects of line managing a team of developers in more established organisations is trying to change people’s salaries. Large established organisations tend to have an annual pay cycle, and changing pay outside of this cycle is a bureaucratic nightmare. Additionally, those organisations that aren’t naturally digital too often anticipate a salary increase in line with inflation (1% to 4%), which is almost always an inappropriate reflection of developers’ worth. The digital world moves quicker than annual cycles, and developers’ value often increase quickly.
Why do developers’ salaries increase at odd times? And why is inflation too often insufficient? One HR exec asked me this in a friendly conversation. Here was my view…
1. Developers’ worth increases fastest in the early stages of their careers
A developer’s value is not a gradual, flat, incline over the course of their career. As soon as they emerge from full time education and get exposure to real world problems, and work with colleagues with more experience than them, so their skill and capability increases dramatically. Consequently salary jumps that are multiples of our 1% to 4% rate of inflation should be a reasonable expectation for companies employing developers in the early stages of their career. (And they probably employed them in the early stage of their career because they looked relatively inexpensive and promising. Well, there are consequences…)
I’ve found plenty of developers to be 30% to 50% more valuable over the first 1-4 years of their career. Really good developers will be more so.
2. A good environment releases people’s value
People’s effectiveness is not just about their innate skills, and indeed some would say that’s a tiny part of the equation. I’ve certainly found that improving people’s environment and working practices makes them much more effective, much more valuable, and therefore gives them a much greater sense of their self-worth.
Software development is a discipline still in its infancy, and there is no single accepted way to structure such an environment which results in wonderful effectiveness. Therefore it’s somewhat common to find a team transformed in its effectiveness not through personnel changes, but through changes in working practices and environment.
One would hope that improving someone’s environment and job satisfaction would endear them to you, and would not result in them demanding more money. But it can’t be avoided that when someone’s true capability is found to be greater than what was previously assumed then at some point that has to be reflected in their remuneration.
3. Training people increases their value
Simply switching to a popular technology can increase developers’ value in the marketplace. A C++ developer is probably working in a relatively niche, established space, but by switching to the very sexy and not entirely dissimilar Objective C, the language of Apple iOS apps, they will suddenly increase their market desirability dramatically.
In the early days of any technology demand outstrips supply. It happened also in the early days of Java in the enterprise. If you are cross-training your own staff to fill a supply shortage in the market then factor in the consequences of giving them such a skill. Once again, one would hope they’d be grateful for the training. But don’t count on love and inflationary increments to be sufficient.
And it all happens out of sync
As frustrating as it may be to corporate natives, all this learning and change in the technology team happens entirely independently of any annual financial cycle. New joiners are more likely to come in at a level that reflects their skill and value (once they’ve got up to speed), but existing staff are too often neglected. As one said to me as he faced another inflation-only increase, “So, basically, I’m being penalised for loyalty”. Too often, that is the case.