Why Software Developers Leave

Run-through

pull requests and code reviews

Pull Requests And Code Reviews

There are two words that will help open a lot of doors in life. Push and Pull. Here, we’re going to talk about Pull Requests. Pull requests have since become a standard part of the software development process and are closely associated with code reviews. Code reviews involve teamwork and collaboration on code and serve as one of the four main drivers of software development, alongside speed, quality, and efficiency.

Read More »

By GITENTIAL TEAM

Understanding why software developers leave positions engineering managers to tackle one of the scariest industry-wide metrics – Turnover. It’s a persistent, recurring, expensive issue and it’s making waves with the Great Resignation. There are several ways your company can avoid and mitigate turnover. This includes being aware of turnover triggers and the reasons that go with them. Developers at risk of leaving show plenty of warning signs that you can casually observe and track with software development performance analytics. So, let’s get you up to speed on what to watch for and things your company can do to keep your team together longer.

Turnover Rates: What to Expect

According to Founder’s Circle, it is not uncommon for high-tech startups to have a 25-30% turnover rate with new hires in their first year of employment. This is corroborated by the Work Institute which indicates that nearly 40% of all turnover in 2018 took place within an employee’s first year. Of these, 43% leave within their first 90 days – logically within probation periods.

The turnover rate for startups is double the industry average (12-13%) according to LinkedIn and the US Bureau of Labor Statistics. Average software engineer tenure at some high-tech giants is not very good, either – averaging under two years. However, the average tenure for developers at Adobe, Oracle, and Cisco is well over five years. Unless the company has a good HR team and solid career paths, lasting two years in a high-profile tech company is practically a ticket to a 20% raise every 2 years, or so.

The so-called Great Resignation has seen a monthly quit rate of 2.9% in 2021 across all industries, especially pronounced in hospitality and retail. However, the quit rate for IT workers has been ticking up gradually since 2014, as shown in the chart below per data from the US Bureau of Labor Statistics. Half a percent doesn’t sound like a lot, but that’s monthly – correlating to an extra 6% turnover per year. 

Quit rates among Software Developers

The Real Costs of Software Developer Turnover

The shorter the developer’s tenure with a company, the less expensive it is (in all regards) to hire a new developer. All the way around though, turnover is expensive and not just owing to the cost of hiring.

  • Costs to hire vary by method – via recruiter (high), advertising (medium), job fair (usually low); and skill availability (lower for testers compared to AI specialists).
  • Cost to interview, screen (background/reference checks), and onboarding.
  • Lost productivity factoring an average of 35 days to find and hire a new developer.
  • Relative efficiency costs in the time for the new developer to become equally well-versed in assigned projects as their predecessor.
  • Developer turnover can have an impact on software quality, though you can mitigate some of those costs with our Five Code Churn Tips for Software Engineering Managers.
  • Potential for dropped processes and delays due to no project handover and/or lost emails.
  • Potential for the Snowball Effect – if one person leaves, others may go with them, and the disruption increases the chances of others also leaving.

That’s a lot of variables. The average wage of software developers in the United States runs around $9,178 monthly or $110,140 yearly. Losing just one month of productivity is costly. However, losing one good developer increases the risk of losing some of their friends and coworkers, too. 

Reasons for Turnover

Turnover is a difficult issue as it can extend from so many root causes. There are few to no metrics to tell you why software developers leave, only that they are at risk of doing so. Those metrics can provide you an early warning sign so you can begin finding out why. We’ve grouped together the full spectrum of “traditional” reasons by major category and examples of why software developers leave:

    1. Career Advancement Issues – 31.5%
      a. No or poor career learning and development opportunities.
      b. Boring projects, no challenge, too much legacy stuff.
      c. Not making a difference for people, society, or special causes.
      d. No to limited autonomy or opportunities to invent solutions.
    2. Pay and Benefits – 22.4% – up to 50% of millennials say they would accept an offer out of the blue that offers better pay or benefits.
    3. Lack of Fit – 20.2%
      a. All manner of social and interpersonal issues – office politics.
      b. Company culture issues – politics and discrimination or harassment.
      c. Diverging interests or priorities as the company grows.
    4. Management Issues – 16.5%
      a. Overworked or too much pressure.
      b. Lack of trust, broken promises.
      c. Lacking mature development processes.
      d. Not feeling valued.
    5. Flexibility – 7.7% (typically work hours or limited telecommute opportunities,
    6. Job Security – 1.7%

(Major Categories and statistics per hrpartner.io.)

Reasons for the Great Resignation

Well – what do you expect, seriously? After forcing everyone to work from home for a year then expecting them to come back to the office? We covered this in the very early stages of the COVID lockdowns – as 1) IT staff have telecommuted occasionally for decades, and 2) “Try it, you might like it!” What? Flexible hours? No traffic? No wear on tear on your vehicle? Save $ eating healthier home meals? No one stealing your lunch? No wait time for coffee or the bathroom? 

Have teleconferences in your underwear? Oh – well, only if you work at home for CNN…  

But everything other than that, save a shitload of money and time? Hell, yeah!   

It’s not only wanting to continue working from home, but as Harvard Business Review points out, most of those quitting their jobs are mid-career employees. It’s a employee’s market – with a global shortage of IT staff, why work where you’re not appreciated, getting overworked, not getting promoted, or where you just don’t feel comfortable?  The reasons are mostly the same “as before” – we’ve all just had more time to think about our priorities. 

The Great Resignation is not without blowback. Companies like Google have looked at cutting the wages of its work from home employees (by up to 25%). If you do the math, that’s still not such a bad deal… but… back to the shortage of skilled developers, Facebook… whoops… Meta… has been trying to poach developers from Apple, Microsoft, and others. This creates a ripple effect of its own.

 

How to Identify Developers at Risk of Leaving?

Aside from their letter of resignation (or hearing it through the grapevine) there are usually a few indicators that a developer is looking for another job – but it’s a lot harder to tell when you’re not working in an office. There are three things to watch out for – Turnover Triggers, Warning Signs, and Performance Metrics.

Turnover Triggers

Recruiters may contact developers completely out of the blue. So, barring contractual obligations, there’s always a turnover risk with your developers. However, when the above warning signs are accompanied by a variety of trigger points – it’s time to get proactive with retention efforts. Turnover triggers include:

  • Experienced major life changes/upheaval recently
  • Recently passed over for a raise or promotion
  • Just received a degree or certification
  • One of their friends, coworkers, or manager recently left
  • The company has announced layoffs or similar “bad news” (to include an acquisition by another company).

Also, not a trigger per se, resume work history can be an indicator, too. It’s practically part of the software development culture for developers to change jobs every two years. If you want to be a great software engineering manager, consider setting up a calendar to track your team member’s 2nd year anniversaries.

Once a developer has it in their mind to leave – the clock starts ticking. It used to be customary for all employees to provide at least two-weeks notice before they departed. Sometimes that got padded with vacation/sick time. However, in the United States, at-will employment provides that,

“..any hiring is presumed to be ‘at will’; that is, the employer is free to discharge individuals ‘for good cause, or bad cause, or no cause at all,’ and the employee is equally free to quit, strike, or otherwise cease work.”

Each country and state has its own laws making this an issue for your company’s legal advisor and HR teams. As such, your only safeguard is to keep an eye on turnover triggers and indicators.

Observable warning signs a developer is at risk of leaving:

So, the thing here is to not get paranoid or overly sensitive if you see a slight shift in employee behavior. You don’t know everything that is going on in your team member’s lives. They may have had an argument with their significant other – forced to sleep on the couch and drink cold coffee for breakfast. It happens. Health issues, stress with bills, in-laws visiting, night school, etc. can all be behind many of the “warning signs.”

It’s more a matter of a fairly consistent and prolonged (over 1 week) pattern of warning signs that indicates a developer is at an elevated risk of leaving. The problem is that engineering managers and team leaders have a narrow window to identify that they may be leaving and their actually leaving. We’ll get to that very shortly, but the following behaviors are warning signs a developer might flip soon:

  • An otherwise inexplicable reduction in productivity and/or quality
  • Reduced participation in meetings, less active in submitting ideas
  • Avoids committing to long-term projects
  • More actively reassigns tasks to others
  • A spike in personal phone calls or takes longer breaks
  • Taking more days off or leaving early with little advanced notification
  • Frequently observed visiting job sites like LinkedIn
  • A sudden interest to attend conventions
  • Less responsive to phone calls and emails
  • Less interest in pleasing their manager
  • More withdrawn, avoids social interaction

Software Development Performance Metrics for Predicting Turnover

Lead time
Velocity
Active days
Coding days
Pushes per day

Churn
Defect ratio
Error count
Test volume
Code complexity

Throughput
Code efficiency
Utilization
Rework
Waste

Responsiveness
Receptiveness
Comments address
Review coverage
Unreviewed PRs

First, it’s important to underscore many of the points Csongor Fagyal makes in Measuring Software Development. Over time, it is possible to objectively measure the normalized code volume created by developers. By extension, it becomes relatively easy to identify unusual fluctuations.

Observable warning signs are likely to be reflected in a developer’s performance metrics.

  • Issues like longer breaks, frequent phone calls will impact throhput.
  • More distractions are prone to be reflected across most quality-based metrics – code churn, defect ratio, error count, test volume, and possibly code complexity.
  • Collaboration may decrease during meetings, code reviews, and comments with responsiveness, receptiveness, and comments addressed.
  • Taking unscheduled time or days off will reflect in most speed-based metrics.

This is not to say that fluctuations in performance are always indicative that a developer is going to leave. They could owe to any number of things. Otherwise inexplicable fluctuations are good indicators that a developer is having a challenge with something. Whatever the basis of that challenge, if it is impacting the developer’s performance on a sustained basis, you are obliged to investigate.

How to Fix Turnover Issues

Now that you know how to identify developers at risk of leaving, you can take steps to keep them on your team. 

#1. Performance Metrics and Behavioral Analytics

Our first recommendation is at the heart of what we do at Gitential, but since we first wrote this article we’ve started transforming our software development analytics into an AI-powered Digital Assistant that, among other things, can help you improve retention. Analytics are useful, but the thing about data — the more we get, the greater our expectations for how we can use it and the value we can get from it. 

Performance metrics tie into behavioral analytics to detect shifts in developer work habits and are a reliable indicator that a developer is looking for a new job. But, that does depend on Engineering Managers and perhaps even HR Managers to be actively tracking the health of their development team.

A Digital Assistant steps in to fill this gap by automatically providing you the data about your team that you want to see – and providing you real-time alerts or warnings of situations deserving your attention like with sudden, but sustained negative changes in PR Code Review activity, code commit frequency, defect rates, active hours, and other metrics.  

Efforts to prevent turnover are all well and good, but not nearly as effective as encouraging high retention. Convincing someone to stay after they’ve thought about leaving plays second fiddle to creating an environment where developers want to stay.  

#2. Human Resources

Yeah, this may come as a surprise to some tech-first companies. A human resources program is vital to attracting and retaining top talent, but it is also your first line of defense to prevent and mitigate employee lawsuits. An HR program helps to create a healthy work climate and fair conditions to help reduce turnover. Human Resources is like a check-and-balance on management to keep everything fair. There are actually six reasons for an HR program:
  1. Recruiting and severance
  2. Compensation and benefits
  3. Employee-Management relations
  4. Workplace safety to include background and security checks during recruitment.
  5. Compliance with State and Federal Employment Laws (usually with a legal advisor)
  6. Training, development, and promotions
Human Resources should be considered as a Program first, a Team second. Many startups can’t afford an HR Manager, so it’s likely subsumed by a founder, or manager – possibly even you! If you don’t have an HR Program – start with this free employee handbook template. Something is better than nothing – just customize it and add to it as your startup grows. As you reach 50+ employees, a dedicated HR Manager starts to become a priority.

#3. Career Path and Development Program

The Tech Revolution is finally over! Um, well – no, no it isn’t. And until we achieve Singularity, there will always be new tech coming down the pike. Considering the time and cost of hiring, investing in retention efforts is essential to retain and grow your development team’s skills. This can be expensive, too – but the following tips provide a few bootstrapping options to help.

A) Career Paths. Most large companies are already structured well-enough to where everyone knows what they need to do (and what conditions must exist) to receive a promotion. Promotions are often tied to degrees, certifications, time on the job, performance evaluations, and possibly other requirements. Continuously integrate new skill sets you know will be needed. The main thing is to keep everyone informed of their opportunities.

B) Incentivize Continued Education. According to LinkedIn, a staggering 94% of employees would stay longer at a company if it invested in their career. Time constraints are the #1 reason why employees don’t continue their education. So, beyond financial assistance, take a look at how you can ease their hours, to pick up the skills your company will need. Many companies have a clause in their employee contracts obligating employees to a minimum term of employment after providing for their training.

C) Apprenticeship and Cross-Training Programs. Apprenticeships have long been part of the make-up of European enterprise. Let someone adept at a skill help train someone who is new at it. Certain skill sets like AI/ML, Data Science, among others will remain in high-demand/short supply. Use in-house resources to help your testers become developers > engineers > managers or AI/ML or Data Science specialists, etc. It’ll be easier for you to hire more testers or developers than AI specialists. Some companies may not recognize apprenticeship programs, so this can help with retention, as well.

A large portion of the coursework associated with software development, data science and machine learning is available for free through the Open Education Consortium (OEC) or for a small fee through EdX. OEC course materials are not always complete and don’t provide any moderation, certification or degree. EdX provides some moderation and certification. There are plenty of other online options to choose from.

For additional help in improving retention, make sure to check out Onboarding Developers: 9 Tips for a 90 Day Program.

New Articles About AI for Turnover & Performance

As we mentioned, we’ve started making a lot of changes in transforming Gitential from providing developer analytics to an AI-powered Digital Assistant. If the issue of developer retention is important to you, you’ll probably find the following articles useful, too!  

About Gitential

Gitential is an Analytics and Engineering Intelligence service provider bringing visibility and optimization highlights on teams’ productivity. Our mission is to enable faster, data-driven decisions to continuously improve software delivery team cost performance and proactive risk management.

Ready to explore different ways to improve your software projects’ efficiency? Schedule a meeting and we will be happy to listen to and discuss your needs.

Have a project but are not quite ready to contact us? See if Gitential is a fit for you!

FREE TRIAL FOR LIFE
for up to 5 repos, 10 devs and 3 months of data

Post updated: January 29, 2022

pull requests and code reviews

Pull Requests And Code Reviews

There are two words that will help open a lot of doors in life. Push and Pull. Here, we’re going to talk about Pull Requests. Pull requests have since become a standard part of the software development process and are closely associated with code reviews. Code reviews involve teamwork and collaboration on code and serve as one of the four main drivers of software development, alongside speed, quality, and efficiency.

Read More »
The Gitential Guide on How to Reduce the Size of Your Git Repository

The Gitential Guide on How to Reduce the Size of Your Git Repository

Unfortunately, there are no easy ways on how to reduce the size of your git repositories. However, there are quite a few ways to keep your repositories down to an efficient and easily manageable size. Many of them are fairly simple and can be set up fairly quickly. But, they probably won’t help you if you are already exceeding your repository cap on Bitbucket, Github, Gitlab, or Azure DevOps. For this scenario, we can help you identify what to target when it becomes necessary to deal with a large repository.

Read More »

Did you like our content?

Spread the word

Subscribe to Our Newsletter

Don't miss our latest updates.
All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.

Did you like our content?

Spread the word

Subscribe to Our Newsletter

Don't miss our latest updates. All About Software Engineering Best Practices, Productivity Measurement, Performance Analytics, Software Team Management and more.