Recruitment is a key moment both for the prospective developer and the recruiting CTO: both sides have specific expectations and needs. If the candidate is armed with good advice, having read countless books and articles on how to succeed in job interviews, we tend to quickly forget that knowing how to recruit the right person is a completely separate exercise. In this article, we’ll give you our tips on how to optimize your technical interviews so that you can hire the right developer for your team.
Use the technical test to have a conversation with the candidate
How can you judge the technical skills of a developer without wrong-footing them and affecting their performance? Give the candidate the right conditions by letting them take a test at home, which might consist of solving a problem with the language or pseudo-code of their choice. Coding at home will make them feel more comfortable and less nervous. If their results hold up, you can then go on to agree an interview to discuss the exercise.
Start the interview with general questions about how they found the experience. Did they enjoy the exercise? How much time did they spend on the exercise? What difficulties did they encounter?
Then you can delve deeper into the code, and ask about the key points:
- Resolution of the problem: Did the developer resolve the exercise? Can they easily explain how they achieved the task?
- Approach: Is the chosen method effective and relevant? Were there other more appropriate solutions?
Pay more attention to the approach than the result
You expect your future employee to know how to code properly and have analytical skills enabling them to choose the most consistent and effective way to achieve the objective. Also, don’t focus only on the code produced by the candidate or the number of languages they say they’ve mastered, but look at their rationale – an essential quality for any good developer.
“This doesn’t mean that we won’t evaluate the technique, but as that’s something that can be easily learnt, we focus more on their reasoning rather than their knowledge base”, argues Cédric Spalvieri, CTO at Novaway.
Tom Quinonero, a full-stack developer at 3yourmind, who has carried out various technical interviews in the past, shares his analysis: “I don’t want to interview someone about a particular language, but about their deeper understanding. So, I’ve never given a real exercise. I prefer to suggest a problem and let the developer verbally explain their approach to solving it.”
So, the quality and relevance of the thought process must outweigh the amount of knowledge or languages the candidate has mastered.
Know how to dispel unconscious bias
“The first impression is always good, especially when it is bad”, wrote Henri Jeanson. If you want to make a success of your technical interview, without totally disavowing your instincts, you should question your subjectivity throughout the recruitment process. We all have prejudices, but are we always truly aware of their effect on those around us?
If we see the world of software development as predominantly male, and internalize these stereotypes, it is perhaps unsurprising that women are under-represented in this environment. In social psychology, the stereotype threat (Claude Steele & Joshua Aronson, 1995) refers to the effects that a negative stereotype can have on a person’s performance. Since then, similar studies – producing similar results – were carried on other groups which are discriminated against, including that which makes up nearly half of the world’s population: women.
Yet in actual fact, there are dozens of criteria that could be the result of varying levels of unconscious discrimination, particularly in the world of work: presumed ethnicity, age, gender, physique, sexual orientation… Be wary of these unconscious biases that may come into play when you hold your technical interviews with candidates: whether you like it or not, internalized stereotypes, such as the belief that women are not as good at math, can harm performance and unsettle multiple candidates. There’s nothing that can make you feel more flustered than being part of a group that’s discriminated against and knowing you’re being judged.
Suggest to one or more co-workers with a different profile to yours to participate in the interview panel. By exchanging with them, you’ll break down your individual prejudices and move toward a better degree of objectivity! However, be careful not to discuss your impressions before you finish taking notes, this could cause you to influence each other which is the very opposite of what you want to achieve.
Dare to hire profiles who don’t think the same way as you!
You’ve probably already set out a list of technical skills that are required or desired for the role. Be impartial enough to depart from list and ask the same questions to each candidate, giving more consideration to the interviewee’s reasoning rather than systematically expecting the only one possible response. Remember that a way of thinking which is different to yours will be a source of innovation and will help counteract a homogenization of ideas, which is not always conducive to creativity and dynamism in the company.
Diversity is also appreciated in the candidate’s profile and background. Don’t turn away too quickly from those with atypical backgrounds – they often have a strong ability to adapt and will probably surprise you with their external vision of the company. To better understand a situation, sometimes you need to take a step back! Don’t miss out on new ideas and different perspectives simply because the applicant is not similar enough to yourself. Be open to discuss your different points of view. Differences and disagreements can lead to constructive discussions that will challenge you and take you out of your comfort zone.
The right candidate is the one that fits best into your team
Your technical interview should not overlook the soft skills criteria, which must always play a prime role in your decision-making. Of course, you have every right to limit yourself to purely technical skills to select your future developer, but that would be a risky choice for both you and your team. Spalvieri supports this approach and explains that “we often limit development to technical performance, while communication – between both the developer and the other roles in the industry – make of 50% of the job.”
You have the right to expect a developer (even at junior level) to have the basic abilities to communicate, share and transmit information with colleagues, yet Quinonero also adds that “personality is good, but I think there is too much emphasis on it; I prefer someone who is reserved, not necessarily likeable, but who will understand what we’re talking about”.
Your future employee has to fit your values and the way your team works day to day. Shy but sociable? Loud but empathetic? There are lots of different profiles, and each one can have different facets. To dig a little deeper into the candidate’s personality, let them talk about their past experiences. This is a much more effective method than asking standardized questions that may well produce generic answers. “What’s most important, in my opinion, is to know if the person is a good match for the company values, and by values I don’t mean the nice catch phrases we display on the walls, but the way we really work on a daily basis. I have two questions to assess this: I usually ask what people liked or disliked about their previous teams, or I ask them to describe their ideal colleague”, explains Spalvieri.
Lastly, make the candidate want to join your team either by giving examples of the work you’ve achieved or by talking about the company culture: the recruiter also has to show motivation so that the ideal candidate can shine through.
During your next technical interviews, keep these tips in mind to recruit the ideal profile without making mistakes:
- The technical test is also an opportunity to have a conversation with the candidate. It will initially serve to screen candidates, but remember that the best results do not mean the best candidates. What matters is the quality of the discussion around the test.
- Prioritize the human aspect. Technique can be learned fairly quickly, especially for a developer role, but learning soft skills is trickier! Unless you have very specific and urgent needs, ask yourself if the candidate can easily integrate into your team, rather than focusing on the time they’ll need to train up on a given language.
- Get the right people onboard. Open your technical interviews to team members who have different profiles to the candidate and may be required to work with them. The goal is to assess the technical side, yet without neglecting the human aspect. This way, both the soft and hard skills of your future colleague can shine through.
This article is part of Behind the Code, the media for developers, by developers. Discover more articles and videos by visiting Behind the Code!
Want to contribute? Get published!
Follow us on Twitter to stay tuned!
Illustration by Brice Marchal