Ken Muse

Modeling the Human Costs of Bad Development Practices


This is a post in the series Hidden Costs. The posts in this series include:

Hiring is tough. Building a top-quality team is one of the most complex, time-consuming, and challenging parts of running a business. Low-performing environments tend to push away top talent. When people are overworked, under-appreciated, or lack opportunities that challenge them in a positive way and allow them to make a difference, they often leave. Not surprisingly, MIT Sloan School of Management reported in 2022 that relative to compensation, a toxic culture is more than 10x more likely to contribute to attrition. Similarly, poor work-life balance or a failure to recognize high-performance employees are 3x more likely to lead to turnover.

In this article, we’ll examine the costs related to retaining and losing key talent. We’ll also explore how to model and understand these costs.

Talent is valuable

According to DevSkiller, as much as 20% of new hires leave a company in the first year. They observed that poorly performing teams can see that rate jump to 57%! If you want to create a robust model for your costs, consider including the expenses related to hiring and retaining talent. Code with high technical debt or complexity often leads to higher turnover rates. High turnover with a higher time to become productive can limit the ability of teams to deliver value to your customers.

Creating a culture and environment where talent thrives can improve retention, boosting both productivity and savings. In fact, Ideal documented that for every 1% increase in retention, you save $28,000 per year in employment costs. They also observed that hiring top talent gives a 4x increase in productivity. A single skilled developer with the right talents may outperform 4 less experienced developers. Similarly, losing an employee of this calibre can be the productivity equivalent of losing up to 4 regular team members.

The time to hire cost

Hiring the right talent requires considerable time and effort. In a competitive market such as technology, the time requirements can be significant. For example, ICIMS reported that in-demand tech roles in 2021 averaged 61 days to fill. Focus GTS reported 64 days.

When you lose an employee, you lose the time it takes to replace that employee. Assuming a simplified model of 60 days for a $125,000 developer ($60/hr, $480/day), the cost of the delay in hiring the developer is $28,800. That’s the amount of work that could have been done if the employee was part of the company. The actual cost per hour is typically higher, as discussed in Modeling the Hidden Costs of Development.

The cost doesn’t end when a new team member is hired – there is still a time cost for training, onboarding, and understanding the practices enough to be productive. If it takes 2 weeks to onboard and train the developer, that adds $4,800 (10d x $480/d) to the costs. If it also requires 3 weeks to become productive, that’s an additional $7,200 (15d x $480/d). The total cost of the delay is now $40,800!

Recruiting time

Ever wondered why it takes your recruiter so long to find the right person?

The process of hiring the talent has additional costs. Many people don’t realize how much time and effort goes into the recruiting process. Despite all of the effort, only 20% of applicants finish the application process, with developers having a higher rate of attrition (source: Full Scale). The remaining 80% still require time to evaluate, and screen before they even get to the interview phase. Lever reported that it takes an average of 98 candidates in a talent pool to get a single hire. Having a pool of pre-screened candidates and warm leads can lower this to 30. At the other extreme, relying on applicants to apply through job boards increases the requirement to 176 candidates per single hire.

Part of the challenge is that 75% - 88% of applicants are ultimately unqualified for the job. Sorting through these resumes averages 23 hours per hire. Once a qualified candidate is identified, it is followed by a screening process that averages 30 - 60 minutes across the tech industry. This time does not include the email or text correspondence required to get the candidate interested in participating in a screening. In short, a recruiter or HR person will typically spend more than 45 hours to get to a single hire once they have talent identified!

A recruiter typically spends 13-20 hours per week, or between 1/3 and 1/2 their time, sourcing candidates. On average, 15% of prospects will respond to a recruiter. It can then take up to 6 months of nurturing to develop a relationship where the candidate agrees to screen for a role and leave their current employment. To find 98 potential candidates with a 15% response rate, a recruiter may need to reach out to approximately 654 people (FinalNumber/ResponseRate = Outreach, or 98/.15 = 654 people). If this outreach only requires 10 minutes of time and no nurturing, that’s still nearly 3 weeks of effort (Outreach x TimeInMinutes/(60 x HoursPerWeek) = WeeksOutreach, or 654 x 10/(60 x 40) = 2.725 weeks). If each of those 98 is screened for 30 minutes, that’s 49 additional hours. This is why finding a single qualified candidate can often require a person-month or more of time.

Modeling the cost for this part is simple – use either the cost of the staff recruiter or the external fee charged by the contract recruiter (which is often a percentage of salary, typically 20-30%).

As we’ll see in a moment, a highly skilled recruiter will reduce the costs in other areas.

Interview costs

Software engineers have a long interview process – the US average in 2017 was 40.8 days. That has decreased to an average of 23 days in 2022. That number is still dangerously high – top talent tends to remain on the market for only 10 days on average. This is a major driver behind why 80% of candidates do not complete the interview process. If you have a long process, they may have accepted an offer before you ever interviewed them!

A midsize company will make an offer to 22.78% of the candidates they interview according to FocusGTS. That means you may need 5 qualified candidates to be interviewed before you offer. Smaller companies usually have a lower acceptance rate. This is common in companies that need special talent or staff that can handle multiple different technical responsibilities.

Top performing teams are likely to have at least 3 reviewers in an interview process. Research has found that having 3 reviewers reduces the chance of a bad hire. In fact, three interviews typically predict a candidate’s performance with 80% confidence or better. Each round lasts 60-90 minutes on average.

Using these metrics, we can determine the cost for interviewing:

Interview Cost = Rounds x Staff Per Round x Time Per Round x Hourly Rate x (1/Offer Rate)

As an example, consider a 3 round interview process with one interviewer each round. Each interview lasts 1 hour. For this example, we’ll assume 1 out of 5 interviewed candidates will get an offer. Our cost model now looks like this:

Avg RoundsAvg Staff/RoundAvg Time Per RoundHourly RateOffer RateCost
3116020%$900

A more accurate model will include the additional time for follow-up reviews (30 minutes typically), preparation (30 minutes), and the lost time due to context-switching (23 minutes, rounded up to 30). That means adding 1.5 hours to the average time per round:

Avg RoundsAvg Staff/RoundAvg Time Per RoundHourly RateOffer RateCost
311 + 1.5 = 2.56020%$2,250

To get even more accurate, use the loaded cost to determine the hourly rate. It is common for companies to have more than one interviewer per round, increasing the average staff per round and the final cost.

Putting it all together

To calculate the final costs, we have to add these costs up. If we assume the recruiter’s time during the process only costs $6,000, our cost for the new employee is:

ItemCost
Lost productivity and onboarding$40,800
Recruiting time$6,000
Interviews$2,250
Total$49,050

If we assume a load factor of 1.4 for the salary-related costs, the table above becomes:

ItemCost
Lost productivity and onboarding$57,120
Recruiting time$8,400
Interviews$3,150
Total$68,670

Finding the right recruiting partner

Top recruiters often cost more, but they can reduce the time and expense required to successfully hire an employee. They can often eliminate multiple candidates that would have ultimately failed in the final interviews. In our model above, a single saved interview is worth $3,150. If the recruiter finds 3 candidates that look great on the surface but ultimately won’t be a good fit for the company, that’s nearly $9,500 in savings per hire.

As another example, let’s assume the recruiter is highly technical and skilled, working with the company to reduce the process to two rounds and increasing the offer rate to 50%:

Avg RoundsAvg Staff/RoundAvg Time Per RoundHourly RateOffer RateCost
211 + 1.5 = 2.56050%$600

If they are able to reduce the time required to hire the employee by building relationships with candidates over time, then the lost productivity cost is also significantly lower. In this example, a 10% improvement in the time required to find qualified candidates would save over $5,700 in productivity costs!

Simplified Model

LinkedIn documents that attrition typically costs between 50% and 250% of the annual salary per lost employee. The Society of Human Resources Management reports the average to be 6-9 months of the salary, or 50-75%. For highly skilled positions, it is higher. From the examples above, you can see how that happens. The time involvement and lost opportunity costs add up quickly.

As a result, we can also adopt a percentage of salary as the basis of the model for hiring costs. For example, assuming the lowest rate – 50% – for a salary of $125,000, the model would be $62,500. This is very close to our loaded estimate above.

Disengagement

A final people cost we’ll consider is disengagement. If a team is over-worked and dealing with high levels of technical debt, they may become unhappy and have reduced work output. Gallup estimates 21% of employees are engaged and 19% are disengaged, with the cost of disengagement being equal to 18% of the salary. This is the time lost due to reduced productivity.

This aligns with a finding from Forrester’s Employee Experience (EX) research. Employees that were in the top 20% of the satisfaction ratings were highly engaged, while those in the lowest 20% were disengaged.

If you choose to model this in, the cost of low morale and disengagement is:

Cost of disengagement = Number of Employees * Disengagement Percent * Avg Salary * 18%

If you conduct surveys with an employee Net Promoter Score (eNPS), the Detractor responses (0-6 on a scale of 0-10) can be used to determine the disengagement cost:

Cost of disengagement = Detractors * Avg Salary * 18%

Understanding this as a monthly cost (divide by 12) can help you understand the overhead caused by employees that feel underappreciated or under-utilized. Improving employee morale and engagement will increase their satisfaction, leading to less disengagement and attrition. Similarly, you can see that as attrition and disengagement increases, the human costs will increase.

Wrapping it up

Over the last few weeks we’ve looked at a few models for understanding some of the costs in your business. From a financial practice, this helps you to better define the decisions you’re making. It also helps you to recognize that the more you value your employees, the more valuable they are to the company. Similarly, you can often recognize a lot about the health (or risks) in a company by reviewing the level of employee satisfaction.

I hope this gives you some insights into how to model your costs and enables you to better understand the value of a healthy hiring process.