If you’ve been in the technology industry for some time, you probably know how hard it can be to hire a good software engineer, but you might not have considered just how much it costs to hire a good programmer. Besides the obvious costs of benefits and salary, there are other expenses that you may have never considered. Those expenses add up and when combined with the salary and associated benefits package, the cost to hire a good software engineer is not trivial. Some data suggests that it could cost as much as $50,000 and possibly more.
Having a recruiting budget and a good understanding of both cost to hire and time to hire will help you understand the true cost of hiring a software engineer, both in time and money spent.
Defining the Cost Per Hire (CPH)
The cost per hire is the average of money spent hiring an employee. In mathematical terms:
CPH = (Internal costs + External costs)/Total number of hires
Time to Hire (TPH)
The time to hire is the time it takes from the time you make contact with a candidate to the time that candidate takes to accept an offer of employment. Time to hire an important metric when calculating the cost per hire. An additional benefit of this metric is that it provides you with data about your hiring process, allowing you to evaluate the areas of improvement to streamline the hiring process and reduce the total cost to hire.
Internal and External Costs
This is the first step in the search process. The three components of sourcing are:
- Writing a Job Description
- Job Board Posting
- Posting to Corporate Website/Social Sourcing
Job Description. Sourcing begins with writing a good job description. You need to be clear in your candidate requirements while making the job enticing at the same time. It takes about an hour to write a good job description. .
Estimated Cost: $25
Job Board Posting. Once you’re satisfied with the job description, you can begin posting on various job boards and employment sites. It can take about 30 minutes to complete one posting. There is a charge to post to most boards/sites and it varies from $25/posting to hundreds of dollars.
Estimated Cost: $100+ ($12 for 30 minutes of work + posting costs)
Corporate Website and Social Sourcing. You should also post the job description to your corporate website. Some companies also use social media to attract candidates. Social sourcing is a more passive approach to sourcing, so it can take much longer to attract qualified candidates than conventional methods, but it’s worth doing. Around 80% of people seeking employment use social media in their search. You can reduce time and expenses by trying to post your position to social media sites where programmers are likely to gather, like GitHub or StackOverflow.
If you decide to use social media in your candidate search, it’s a good idea to put a time restriction or a restriction on the number of candidates that you want from social media. A good measure for social sourcing is 10 hours.
Estimated Cost: $250 (10 hours x $15/hour)
Recruiting. One of the largest and most common internal/external costs is recruiting. Most external recruiting agencies charge a fee that’s usually 15-30% of the salary. When estimating costs, consider an average recruiting fee to be about 22% of the position’s salary. Let’s assume that you’re hiring a senior software developer. The median salary for that position is roughly $100,000/year.
Estimated Cost: $22,000 (22% of $100,000)
Total Estimated Sourcing Costs: $22,375+
If you use a combination of job boards and social sourcing, you will start with two piles of applications that need to be sorted and reviewed. When you’re evaluating resumes for technical positions, it’s important to look at accomplishments and skills or projects relevant to your own. If the candidate submitted a portfolio or work samples, those should also be seriously evaluated. Relevant work experience is often more important than what’s on the resume, so the resume shouldn’t be the first or only thing that you look at. Doing a simple screen of a candidate’s resume and work products should take about 5-6 minutes/candidate. Let’s say that between the job boards and the social sourcing, you end up with 100 candidates that you need to screen to see if you want to interview them.
Estimated Cost: $200 (8 hours of work at $25/hour)
If you had 100 candidates apply for the position, you’re obviously not going to interview all of them. Through reviewing their applications, let’s say you whittle that list down to 16 candidates that you’re interested in learning more about. Some companies like to pre-screen candidates before offering them a full interview. If you decide to pre-screen, each call is probably going to last 15-20 minutes. So, for 16 candidates, plan on spending 4 hours on the phone.
Estimated Cost: $100 ($25/hour x 4 hours)
If you want to save some money, you can forgo pre-screening candidates and elect to give them a test or a coding challenge that is specific to your needs. You should invite at least 10-15 programmers to take a test in order to find one that will suit your project and needs.
Estimated Cost: $150
This can be a time consuming and expensive process. Interviews aren’t done one-on-one, so for every interview, there’s probably a few engineers as well as a human resources representative present. Engineers’ time is valuable. Most likely, you used one or more engineers to help you screen resumes and narrow down the list. Let’s say that you decide to interview 3 candidates. Assume each interview is at least 2 hours and possibly longer. If you add up the engineering time spent reviewing resumes, doing phone screens, interviewing, and then meeting after each interview to discuss the candidate, those costs can add up.
Estimated Cost: $2,000
Besides the costs already detailed, there are other “hidden” costs associated with filling a senior software engineering position.
About 80% of software developers are already employed, but they keep their resumes updated, which makes them passive candidates because they don’t need the job. The average time to hire a software engineer is 35 days, but that can be longer if you’re looking for a particularly specialized skill set. During this 35 days, you still have an open position and work to be done. Some companies choose to use the existing staff to cover the open position until its filled. As long as the shortage is short term, this solution may be feasible.
Over time, however, this approach can lower morale and that can equate to attrition. Unhappy people tend to look for other opportunities, and if you start losing more resources while waiting to hire a single worker, you’re costing yourself even more in downtime and hiring costs. If you’re asking your team to do more with less, even if it’s just for a short period, you need to make sure to reward that and not take it for granted. Think about having a team lunch or a group activity to say thank you and alleviate some stress.
One solution is to staff the open position with a temporary worker or freelancer. Temporary workers may charge a higher hourly rate than you would pay an employee, but you don’t have to pay any benefits, and as long as it’s a short-term fix, it won’t add too much to your recruiting budget, but it’s still a cost to be considered.
Once you hire a candidate, they’re going to take time to get up to speed. During this period, that new employee is still costing you money. They need to be trained and this can take a significant effort from your existing development team. It can take at least 6 weeks to get a new hire trained and able to contribute. If the position you’re filling was occupied by someone with a lot of institutional knowledge, it may take far longer than 6 weeks to bring a new employee up to speed, because there’s no substitute for institutional experience and knowledge.
Estimated Cost: $30,000 (training costs)
If you add up all these costs, it comes to more than $50,000 to hire a senior software engineer. That is not an insignificant expense. Because the cost to hire a software engineer is so high, that makes the sourcing, screening, and interviewing process that much more important. You can’t afford to make too many $50,000 mistakes. It’s important to take the appropriate steps to make sure that when you do hire a candidate, they will fit into your organization well and that they will stay long-term. Having a good recruiting plan and understanding all of the costs involved in hiring can help you examine how your company spends and allocates both time and money and should help you improve your hiring and training process.