Why do software developers keep looking for new jobs? How can employers help them find the satisfaction they want, in the jobs they already have?
What do programmers want?
It's fair to say that the pay and working conditions of programmers are generally more agreeable than those in other lines of work, yet they keep on moving on to new positions, in the search for satisfaction of one kind or another. In the software industry the time between job changes often seems to be measured in months rather than years.
Industry surveys, like the Developer Hiring Landscape reports published regularly by StackOverflow, are alarming reading for employers; they confirm this pattern. Although the material benefits offered to software developers continue to rise across the industry, satisfaction levels do not. Partly driven by fierce competition amongst technology giants for programming talent, this is especially a headache for smaller companies and startups in the field.
It's a costly and disruptive churn for all employers, but if dissatisfaction is what drives drives it, then understanding what satisfies programmers is key to addressing it.
What satisfies me
In August this year, I had the enormous pleasure of being part of the very first PyCon Africa, held in Accra, Ghana.
I was part of the organising team for the event. We worked on the project for over a year and a half.
This was the seventh African Python conference I have been involved in since 2015. Taking part in these events has been an important part of my life, and it has only been possible with Divio's support.
What I get from being involved in the African Python movement comes back with me to the rest of my work. All of my work at Divio is invested with it, because the support I get from Divio means I can regard participation in these projects as a part of my job and part of my relationship with the company.
Value to employees = value to employers
There's an obvious value for a company in this. It's the same kind of value that companies have increasingly been discovering through CSR (Corporate Social Responsibility) programmes that give employees opportunities to engage, through their employment, in initiatives that are personally meaningful to them.
When someone's job offers the opportunity to exercise their skills and expertise in the wider world beyond work, the value of this is reflected back on the rest of their employment.
The value to the company is in having employees who find satisfaction through their work, who feel invested in what the company does, not only in the narrow scope of its business activities, but in its wider ethos and the question of what it allows them to achieve.
Where can programmers find satisfaction?
Companies employing programmers have a problem keeping them satisfied. But for those working with open-source software, the industry itself already offers a remedy, because programmers generally enjoy contributing to the wider open-source community.
Community projects include events, educational initiatives and vast ecosystems of open-source software projects. For many programmers, these are amongst their special interests and ambitions, and they are directly connected with the rest of their work.
In other words, there’s a kind of ready-made CSR programme for companies using technologies such as Python. For any company operating in this sector, it's a valuable opportunity.
How it works for Divio
Divio enjoys a remarkably low turnover of technical team members. Once they arrive, they tend to stay. There are good reasons for this, but one of them is that Divio has long recognised the value of employees' pursuits in open-source software, and what it means for their satisfaction in their work.
For Divio, supporting open-source software is an investment. But, it is also a way of giving employees an opportunity to do things that matter to them, through their employment. This could mean contributing code to an open-source project, or volunteering as a coach, or as the organiser of an event. It could be serving on the board of organisations such as the DSF, or working on long-term projects such as PyCon Africa and the development of the pan-African Python community, or something else entirely.
The satisfaction gained from this becomes part of an employee's job satisfaction, and part of all the rest of their work, where it makes a genuine difference.
For the software industry
Failing to take advantage of it would be a missed opportunity for a company, but the situation is more serious than that. Programmers keep changing their jobs in the search for satisfaction, and the entire software industry wastes an extraordinary amount of time, energy and money dealing with the consequences of this.
It’s a blight on the industry, but the good news is, at least part of the solution is already right on the doorstep of employers in this field. It’s easily tapped into, with little effort. It doesn’t require signing up to a CSR scheme, or trying to invent new ways in which to engage team members.
In Python, the benefits are available to any company whose employees find satisfaction working on Python-related projects of different kinds outside their work, and so it is with other technologies. The benefits are clear and tangible and there for the taking. Failing to take them means missing out on a wide-open opportunity to keep valuable team-members engaged, invested and satisfied.