According to Harvard Business Review, only the Healthcare industry has seen more resignations over the past two years as developers reevaluate their relationship to work as a result of being subjected to a life-threatening pandemic. And these are not junior developers leading the charge, but rather the majority of those quitting are experienced personnel in the 30-45 year age group.
Both the Haystack Books’ study and Salesforce Mulesoft’s Survey point out that the most likely root cause is an increased workload, which >80% of developers say has only gotten worse since the pandemic. This would line up well with the rapid transition of every business to support remote workers at the beginning of the pandemic, which put stress on developers forced to ramp up their organizations’ cloud and digital migration.
March 2020 has been called an inflection point, when the previous model of face-to-face, show-up-and-be-counted workplaces suddenly became the virtual organizations we’ve been promised since the rise of video conferencing. In other words, the theoretical possibility of developers working for any company in the world from any place on the planet is now our collective lived experience. With unlimited choice, settling for a subpar job just because it’s close to home is no longer required.
So with this sudden increase in competition for skilled developers, how can you continue to hire the brightest candidates while retaining your best coders? It will require a combination of culture and tools, both of which are needed to ensure against veteran burnout and ease newbie onboarding.
Retain, Not Retrain
But before we get to new hires, you’ll need to stop the bleeding first. After all, it’s always easier to retain top talent than hire a better replacement. The key reasons developers are joining the Great Resignation include:
- Easier to get a larger pay raise by starting a new job rather than accepting yearly incremental increases.
- This is a simple matter of doing your homework as to current pay trends, and ensuring your employees are fairly compensated.
- Looking for a better life/work balance.
- Flexibility is key here. For example, allow developers to “work from anywhere” and set their own hours as long as the work gets done in a timely manner. Forcing employees to return to the workplace post pandemic is not likely to end well.
- The chance to work with new technologies.
- Developers are lifelong learners: provide them with opportunities to work with different tech stacks. For example, by working on new projects that might include microservices or APIs, which can be built with different tech stacks and still interoperate with your existing assets.
- More leadership opportunities.
- This is probably the most difficult criteria to accommodate since not everyone can be a manager. However, encouraging a project-based culture can afford everyone the opportunity to lead a team at least briefly.
The consequences of not addressing your developers’ needs include not only losing institutional knowledge as experienced coders quit, but also creating holes in your projects that need to be filled. Worse, these holes may lead to the vicious cycle whereby the roles that remain unfilled force team members to work harder to pick up the slack, which only ever leads to more employees resigning.
And even if you can hire new developers, onboarding them is time consuming, resource intensive, and highly disruptive to meeting delivery dates and customer commitments.
The takeaways should be clear:
- Minimize existing developer burnout
- Expedite new developer onboarding
And if those fail, then at least ensure you can minimize knowledge loss as employees come and go.
With the #1 driver of resignations being increased workload, businesses that were able to quickly adopt remote working need to just as quickly adopt tooling that will automate many of the manual, repetitive tasks that developers have been “sucking up and getting done” for decades.
While developers work with a diverse set of tools and technologies, the one common denominator is always open source software, specifically open source languages. The more you can take off a developer’s plate with respect to the repetitive, low-value work associated with building, using and maintaining open source language dependencies, the more your developers will be able to focus on coding value-added features – and the more validated they will feel in their role.
That’s where the ActiveState Platform comes in, with its ability to:
- Automatically build open source language dependencies securely from source code for Windows, Mac and Linux, including native libraries. Read how to automate the Python environment set up for GitHub.
- Automatically package the required set of dependencies for all target operating systems, ensuring reproducible environments that contain only dependencies that work together. Read how to easily solve reproducible environments and how to eliminate Dependency Hell.
- Automatically monitor and notify developers when dependencies become vulnerable, and simplify the upgrade/rebuild/redeploy process. Read how to remediate your vulnerabilities quicker.
- Automatically maintain a catalog of dependencies and transitive/OS dependencies over time so you can always reproduce the build. Read how to create stable, reliable dev environments.
- Optionally provide developers with a repository of approved dependencies so they always know which ones to use. Read how to best manage dependencies with artifact repositories.
- Optionally create forks for dev, staging, production, etc environments that automatically inherit changes from the parent configuration to ensure each environment is as similar as possible.
Finally, when it comes to onboarding, new hires typically build their own development environment from an outdated Readme, and then have senior resources come to their desk to help debug what went wrong. A process that’s complicated now that everyone is working remotely. Instead, the ActiveState Platform ensures that even newbies can set up their development environment correctly every time. Read how to eliminate “works on my machine” issues.
And your developers can do all these things without the need for language or OS expertise, or even the need to reference/revise/update Readmes, which means you don’t need to worry about knowledge loss or internal information becoming outdated.