Retaining software engineers is always a challenge to running a tech company. Tech employee turnover rate is the highest among all industries, because of the sheer number of tech job openings available in the market.
It is also due to the nature of tech workers – they embrace changes in their work. Novelty stimulates their brain, including new challenges in a new role.
Tech companies want to retain their software engineers because the cost of replacing one is high. The visible costs include the cost of recruiting and hiring the replacement and the time spent on on-boarding and transitioning.
The not so obvious costs include the loss of productivity of the tech team while doing hand-over and training. If you lose a highly experienced engineer, you also lose the access to a key domain knowledge.
Why do software engineers leave?
To learn how to retain software engineers better, it is important to understand why they want to leave for another company. Glassdoor has made a survey from 1400 software engineers about this. They reported “compensation” to be the top reason why they left their job.
Unfortunately, the survey was poorly designed. As the options given in the survey are somewhat dependent on each other. As a result, they confounded the root cause with symptoms.
For example, “Career Growth Opportunities” (76%) and “Type of Work” (58%) are somewhat related—if you are doing something you feel is not important, it means possibly there is little room for your career growth.
Poor “Senior Leadership” (32%) is often the root cause of poor “Company Culture” (53%) and poor “ Career Growth Opportunities” (76%)—when the leadership does not manage their talents well.
Glassdoor also reported that more than half of the engineers said they would take less money to work at a company with a great culture, thus contradicting their top finding.
Software Engineer’s Hierarchy of Needs
To answer the question “what motivates software engineers to stay longer”, I created a model using a tool from psychology called Maslow’s Hierarchy of Needs. The model helps to explain Glassdoor’s survey results to some extent. It also matches with the personal observations I have made in my career.
How to read the picture?
The pyramid in the picture shows the motivational factors behind a software engineer’s career. The top needs hold precedence over those below.
For example, if a software engineer is underpaid, having a good culture or an interesting job scope will not help to motivate him/her to stay on the job.
Likewise, a software engineer will not want to stay in a high-growth company with toxic culture for long, despite having plenty of growth opportunities there (this explains Uber’s high employee attrition rate among many tech companies).
Once the lower level needs are satisfied to a certain degree, they will not give the engineer extra motivation. He/she will start the pursuit of the next level of needs.
As a result, companies that do well in all four lower levels should start to focus fully on the personal development of their engineer employees.
Lastly, every engineer differs in how much each factor motivates him/her. One should manage each in a different way depending on what he/she prefers.
What can you do to retain your talents?
Based on this model, there are several things a tech company can do to retain its talent, following the hierarchy closely:
- Perform salary review. Ensure an engineer gets paid close to the market rate.
- Make sure your company has enough runway to last it through the development till business growth.
- Get the right person to lead the tech side.
- Fire the troublemakers.
- Fix any issues in your hiring process that could result in bad hires.
- Foster a healthy, transparent engineering culture that is based on trust and respect.
- Empower your engineers to make technical decisions.
- Coach them to realize their potential.
- Understand their desired career paths. Design a personal development plan for each.
- Provide constant challenges to them. Ensure no one is stuck in a dull routine of working on the same thing for too long.
- Reward the right behavior by expressing your approval or admiration.
If you read the list carefully, 4-11 are essentially a matter of 3. You need a competent tech leader to do all 4-11 while aligning with the company’s objectives.
So actually the ultimate answer to the question in the title is
Software engineers stay on their job because of the management.