How long does it take to hire a software engineer?
Here’s the short answer
A study conducted by Dr. Andrew Chamberlain of glassdoor.com stated that the average time-to-hire for workers in the U.S. across all jobs is about 22.9 days, with more complex jobs taking a longer time-to-hire.
A software engineer, for example, was found to take 35 days on average to hire with at least 30 interview reviews.
The long(er) answer
The study analyzed various countries’ average job interview process length and found that the U.S. had the quickest time to hire second to Canada (22.1 days). The country with the longest time to hire was France.
This study was conducted over a four year period found that the trend in hiring times was increasing. From 2010-2014 the average hiring time increased from 12.6 days to 22.9 days.
Not surprisingly, these numbers vary drastically by industry. So government agencies hiring software engineers will invariably take longer than agile startups doing the same.
Furthermore, these results also vary depending on which U.S city you’re living in, with Washington D.C. taking the longest to hire on average. The data also suggests that in Miami, Phoenix, and Orlando the hiring process takes a lot less time on average.
How does one hire a software engineer?
In order to really see how much time it will take to find your software engineer, you’ll have to walk through the process and imagine how long it will take for your company to accomplish what is necessary.
Be mindful that this will be a great investment of your time: you'll need to be spending the next weeks creating the job advertisements, evaluating CVs, having interviews, and designing coding tests.
Hiring a software engineer is an involved process and it is important to be clear about defining your goals as a company before hiring another member of your team.
Step 1 - Define your Goals
In order to best tackle the problem, it will help to clearly define your goals.
Before beginning to post on all the job sites you can think of, you should have your business objectives and desires in impeccable order. Ask yourself the following questions.
- What is the problem you are trying to solve?
If you don’t already employ a team of software engineers, you may not have sufficient knowledge of the pros and cons of hiring a software full-time engineer.
So, what is your reason for bringing on another employee? Do you need a web application? A mobile application? A database?
Unless you are absolutely sure you want a software engineer around 24/7, you might consider offshoring or outsourcing your engineer team.
- What is your spending limit?
Software engineers can get expensive. Be prepared to set aside an ongoing healthy budget if you do want to hire someone to your team.
Be aware that software engineers are in demand, so if they aren’t paid a decent salary they might look elsewhere.
- When do you need your new hire to begin working?
It’s nearly impossible to employ an individual and get them up to speed right away.
Many people will need some time to adjust to the new working conditions. The right person may need to relocate. As a rule, even once you hire someone you should expect it to take between 1 - 3 months to appropriately prepare them.
This may not be the case if you decide to outsource. There are advantages to hiring a team of individuals that don't need to relocate and, if they are good, their physical location won’t have any bearing on their ability to tackle issues quickly and strategically.
If you see that hiring a member of the team is an absolute necessity we’ll continue with job postings.
Step 2 - Post a job
The job posting will be the first communication a candidate has with the company, so make that interaction count.
A good post should be clear and straight-forward, and it will likely contain the following information:
- Role. Describe in detail what the candidate will be doing when they join your company.
- Requirements. Be clear about the technical requirements that are necessary for the position. Specifying technicalities will weed out unqualified and will give the qualified a better sense of what they’ll be doing.
- Salary. You may be tempted to avoid writing down the salary in hopes of trying to negotiate lower rates. We advise you to not do this. Be honest and specify the exact salary from the beginning. You don’t want to waste any time with a candidate who you can’t afford. This will give you a tremendous advantage as those willing work for the money will show up.
- Purpose. If you are not Amazon, Google, or Microsoft chances are a potential employee doesn’t know what your company does or where it’s going. Briefly tell the applicant about the company, why it exists, and how working here can not only help the company but could also be a dream job for a candidate.
Also, don’t try to be cute and use language like “tech gurus” or “software ninjas”, you might impress some novices, but you won’t win over the truly experienced guys and gals.
Keep your job posts short and sweet
If you’ve defined your goals clearly, then this step shouldn’t take too much time. Writing a solid job posting could take a couple of hours.
Step 3 - Interview
Hopefully, if your job offer was clear enough you’ll be getting some interesting CVs coming your way.
Here you will be able to actually interact in person with your potential new employee. In the interview process you’ll want to prepare and accomplish the following things:
- A short, ice breaker session. This is where you’ll get to know the personality of your future employee.
- A programming test. You should give the candidate a short programming test and ask them to explain their answers. There may be a couple of ways for the candidate to pass the test, so it’s important to be open-minded if they don’t pass it in your preferred way. This is just a session to get to know them better.
Time to complete the interview
Scheduling all your interviews may take time if candidates have tough schedules, but the interview itself should be around 1hr, with the test portion taking about 25-30 minutes.
Also, designing or finding adequate tests may be a time-consuming process.
Step 4 - The longer technical test
Now that you’ve got to know them and seen their thought process it is time for a longer and more comprehensive test to get the final verdict on your candidate.
This is not necessary for all positions, but it is a good idea if you are offering a high paying salary with competitive benefits.
Also, if you are going to put your remaining 3-5 candidates through a longer test (of around 4hrs), we would highly recommend you pay them for their time. This is a good way to show respect and to keep candidates motivated.
Time to complete the technical test
This test should really be designed by a senior-level programmer who can evaluate the merits of each applicant.
However, the test is for checking best practices in terms of coding and documentation, so they are allowed to ask questions.
Be prepared to spend a bit of time crafting this test unless you already have something that they could do that you know the answers to.
Depending on the time it takes to set up all these tests on the calendar you may be looking at a timeline of weeks to accomplish the short and extensive test for all your candidates.
Total time to make your final decision
Considering that the average time to hire a software engineer is 35 days, finding the right person for your software job will not be an overnight task.
This estimate will fluctuate based on your company's familiarity with hiring a software engineer. With so many moving parts, even a 20% increase in timeline will result in things getting pushed back.
If you do choose to hire a software engineer, we wish you the best of luck. If you are feeling daunted by all the time it will take to vet the right person, you may want to consider outsourcing your software development to a trusted firm.
Our company, Binar Code, has developed software for companies all over the world and is prepared to offer some of the best value available today. Feel free to message us for a quote!