Co-authored by Nexton and Lucas Arana, Vice President of Talent at Nexton.
Testing the technical skills of candidates is often a necessary evil. Most people in the industry know that it’s not the most enjoyable part of the recruiting process, but it’s vital to understand how each tech candidate thinks and what they’re capable of.
However, assessing developers during a technical interview doesn’t have to be an unpleasant experience. After more than ten years of working in the tech industry, I’ve discovered a few best practices that can transform and optimize your technical interview process. Let’s take a closer look at how to plan and maximize technical assessments for top talent recruitment results.
- The good, the bad and the ugly of live coding challenges
- 4 best practices for assessing software developers
- Our recommended technical recruitment process
- Get the right tech talent for your team
The good, the bad and the ugly of live coding challenges
One of the most popular types of technical interviews is the live coding challenge. While it’s certainly a challenging test for your candidates, it may not give you the right insights into which candidate to hire. Let’s take a look at some of the reasons why the live coding challenge might not be your best option to assess developers:
Problem #1: Candidates feel the heat.
Live coding challenges aren’t exactly realistic. During everyday work, developers are rarely placed under such high-pressure situations or expected to resolve complex problems within such a limited amount of time. For this reason, you might not get a sense of how a developer would actually resolve a coding issue.
And remember: a good developer isn’t necessarily somebody who can get something done in an hour! This work might lack the long-term thinking that’s so essential to product success today.
Problem #2: The test process can be long and prone to human error.
Live coding challenges can become quite lengthy, resulting in candidates who make mistakes or get frustrated during the process. Companies then discard these developers because of one bad day or comment, and lose out on talent with high potential.
While you shouldn’t take major shortcuts during the recruitment process, it’s a good idea to make the technical interview as efficient as possible.
Problem #3: Candidates can “learn the test.”
Developers typically dislike live coding challenges, so naturally, they try to prepare by prepping common problems and exercises. “Learning the test” isn’t ideal for developers or companies, because if the candidates practice enough exercises, they can pass a live coding test but may not actually be up to the challenges of the role they’re interviewing for.
Problem #4: Live coding tests might not reveal candidates’ greatest strengths.
The ideal developer profile shouldn’t just depend on passing technical exercises during an interview process. It’s critical for companies to get the full picture of their candidates, which includes their soft skills, personality, product knowledge, interest in industry trends, etc. These abilities aren’t tested within the logic of a live coding challenge.
Problem #5: Certain tests may not be a good fit for the role.
Finally, companies tend to use blanket technical tests that aren’t tailored to the role itself. This is a huge mistake for getting vision into your candidates' strengths. For example, if your company is hiring a tech lead, you’ll want to look for:
- Management skills
- Programming languages
- Product intelligence
- How they handle code reviews
- How they scale systems
- How they analyze business architecture
- Great communication skills
- Overall motivation
In this sense, a live coding challenge won’t give you much insight into whether the candidate has this wide range of skills.
4 best practices for assessing software developers
Now that you have a good sense of how to structure technical interviews, you might want to keep in mind the following best practices to make the most of the tech recruitment process.
1. Remember that interviews are a two-way street
Candidate interviews aren’t one-way, especially when it comes to senior talent. This is your opportunity to sell your company to the candidate and compel competitive developers to work with you. Remember that candidates tend to receive around 200 opportunity messages per month, so you must try to stand out among the crowd.
You and the candidate are interviewing from both sides, so keep the process as genuine and human as possible. If candidates sense an issue or feel that the company doesn't like them, they will likely exit the process, which slows down recruiting time and generates extra costs for your company.
2. Don’t focus on the numbers game
Don’t try to get great developers just by upping your volume of candidates. This will make the process much longer and lead to interviewers cutting candidates just to narrow down the process and find final-stage candidates. Not to mention, you’ll also lose great developers along the way.
Instead, reimagine your interview process in order to sell the benefits of working with your company and get candidates excited to work with you. It’s far more effective to improve your process than to play the numbers game and hope for the best.
3. Consider assessment variations according to the role
There’s no such thing as a perfect recruitment process, but one key characteristic is to have variations. Understand the role’s needs and customize the process accordingly. In this way, you’ll be able to capture better talent that aligns with your company.
For example, you may mix up the interview process with deep technical talks instead of a live coding challenge, or an analysis of a framework, language, or project that the candidate is interested in.
4. Iterate and improve your tech recruitment processes
You should aim to improve your interviewing and recruiting processes constantly. Don’t be afraid to reflect and be critical! This is the only way that you’ll be able to optimize the process to get the best engineering talent for your company.
In particular, it’s essential to achieve a smooth technical interview process, as this is typically when candidates either move to the final stage or not. Choose the right person to carry out these interviews, so that it feels like a comfortable conversation between peers. Remember that the interviewer should be able to sell the company experience to candidates even during tough moments like the technical interview.
Our recommended technical recruitment process
So what’s the best path forward to handle the technical interview? Here at Nexton, we recommend a 3-step recruitment process that takes a total of 3-4 hours. During all three interviews, you should check for cultural fit, product vision, technical analysis and any other area that’s key to the role.
1. Personal interview
During the first sit-down with candidates, you should get to know their experience, as well as talk shop about their techniques and product knowledge. Getting an initial sense of cultural fit is also a priority here.
2. Technical interview
For the technical interview, you should customize the process according to the candidate and the role. Depending on the insights you’re looking for, there are four potential options:
- Live coding challenge (recommended time: 0.5-1 hour): If the job requires an extremely deep knowledge of a language, you may opt for a live coding challenge. Ideally, this should align with the typical tasks of the role they’re applying for. No matter what, this challenge should be dynamic and peer-to-peer –instead of an interviewer simply observing. Check here how the candidate thinks, structures their thoughts and organizes their coding tasks.
- Take-home challenge (recommended time: 1-3 hours): This type of test also checks for technical know-how, but it takes significantly longer. So make it fun! If it’s a challenge that candidates may consider to be boring, they’re more likely to be badly predisposed to complete it. The biggest disadvantage here is that candidates drop out because of the long time commitment, so cutting the challenge to 1-2 hours, with about 15 minutes for interviewers to correct it, would be best.
- Practical exercise (0.5-1 hour): Instead of a full-blown coding task, you could create a practical exercise, such as asking candidates to fix a buggy piece of code or perform a code review.
- Programming session (0.5-1 hour): The final option is to allow candidates to brainstorm and perform a deep analysis of a certain task. Here they think about the solution and explain how they would handle it, but may not carry out the full coding.
3. Final interview
During the final interview, you should confirm the cultural fit and take a closer look at soft skills and overall motivation for the position. Here, you should include a “product mindset” check as well. This way, you’ll make sure to select a candidate that is someone who can work on your product long-term. You should also make your final sell of your company, which may involve candidates meeting their future teammates or managers.
Get the right tech talent for your team
Ultimately, defining the tech recruitment process can be a moving target. To help you out, you can use these expert tips to more accurately assess your software developers and create a recruitment process that leads to better talent outcomes.