I have yet to find a company that doesn’t at least pay lip service to the concept that they want their employees to be happy and fulfilled. Yet for many developers, those promises end when the offer letter is accepted – and this creates problems for both the developer and the company that has hired them.
Hiring developers is an expensive proposition. In fact, in many companies it can cost 50% or more of the developer’s salary to bring them on board. Most people worry a lot about hiring the wrong developer. But few worry about keeping the right developers on board.
Why do so many companies struggle with this? I have a few ideas as to why.
The first is that many companies misinterpret developers’ desires and wishes. Free soda and a foosball table has become so common as to be cliche, but many companies think that these “perks” attract developers. But what kind of things do developers actually want?
Most developers I know want the freedom to think, to make an impact, and to contribute something meaningful. They want hard problems. A foosball table might be fun to blow off some steam, but it won’t keep a developer that’s bored.
Similarly, most developers are less motivated by money than the average person, in part because developers tend to be well-paid for their work. When they can afford their basic needs, money ceases to be a motivator. As a result, companies need to look more at the type of work, and less at the incentive programs they create as a way of motivating developers.
Finally, it’s well known that the developer market is red hot right now. Developers have lots of choices, and the best developers have even better opportunities waiting right around the corner. It’s easy for a developer to leave, but it’s costly to a company to lose them. Companies need to give developers a reason to stay by determining what makes each developer tick and ensuring that those needs are met.
For companies that care about the quality of their hires and their development team, there should be just as much effort put into keeping developers as bringing them on board. When developers are happy they are more productive, and the longer they stay, the longer your investment in them pays off.
And it’s worth viewing developers as an investment, one that you’ve paid good money for. Every day that a developer works with you is a day they gain experience and insight, not only into the language or tools they use, but into your product and your business. Bringing on a new developer will rarely immediately replace the hole left when an experienced developer leaves, taking their institutional memory with them.
Happy developers are productive developers. Master the means to keep developers happy, and they won’t leave. And that makes you more productive in the long run.