Finding the right candidates to join your software delivery team is tough. Competition is fierce, and the last thing you want is to lose a good candidate due to a weak interview process. From the moment a candidate walks in the door through the completion of their technical assessment, you want to provide them the chance to show their best. Here are some ways to enhance your technical interview to find great candidates and build a better software delivery team.
Start on the Right Foot
Design the interview process in a way that enables the candidate to shine. The staff performing the interviews should all follow a similar pattern. It’s helpful if they can meet ahead of time to make sure they’re each targeting a different area or topic to minimize overlap. Each interviewer should have a list of questions prepared and know what answers they’re looking for.
When the candidate enters the room with an interviewer, the interviewer’s job is to welcome them and make sure they’re ready to perform their best. The interviewer should try and get them to open up by starting with a topic that’s both comfortable and personal. For instance, “I see you worked with functional programming languages, what do you think about them?” Or, you can have the candidate tell you more about an interesting project or experience they had on their resume. You should be giving them opportunities to gain confidence and “brag” a bit before fully diving in.
Technical Assessment that Goes Beyond the Technical
The next part is the actual technical assessment, which usually consists of proposing some sort of question that the candidate must solve in the remaining time. It’s easy to get caught in a pass/fail trap here. Just because a candidate doesn’t arrive at the perfect solution in the given time, doesn’t necessarily mean they failed.
Look Beyond the Answer
There are many additional things to look for when performing an interview. Does the candidate take help or hints well? How do they handle disagreement and feedback? If a candidate goes down a dead-end while solving the problem, attempt to steer them back on course. How they handle this is very telling. You’ll see responses that range from complete arrogance to starting a dialog where you work together to solve the problem, and you can guess which is preferable.
A great way to have candidates solve more complex problems and analyze their ability to work in a team is pair programming. Even if the candidate comes up short of getting the complete correct answer, there are other things to judge them on. Seeing that the candidate is easily coachable or thrives in a team environment is a huge plus and can sometimes trump the solution they came to.
Ask the Right Questions
Asses Culture Fit
In addition to assessing candidates on technical acumen, evaluating them based on culture fit is equally important. Make sure you’re asking questions that relate to your core values. For example, I’ve asked, “As a team lead, you came up with the plans for a new feature. One of the other developers on the team has concerns about implementation details. How do you handle this conflict?” You’re looking for them to want to give the junior developer a platform to express their concerns and be open to ideas outside of their own.
Let Them Interview You
When there are about 10 minutes left during an interview, you should offer the candidate the chance to interview the company as well. This step is an important part of the process since it gives the candidate an opportunity to learn more about the company, the role, and the technology stack. Ultimately, it should help them determine if the company will be a good fit. No questions from the candidate may be considered a minor red flag. If that’s the case, try restarting a dialog about the team you’re on and what you’re building. It may spark some questions from the candidate.
Document any code the candidate wrote and the designs they created during the interview process. Documentation is essential because it gives you a chance to see your own trend in performing interviews. It’s helpful to calibrate your feedback against the other interviewers in the circuit. To avoid bias, compile your feedback before reviewing others’ input.
Three Essentials to Look For
Overall, there are three essential things to look for in a technical interview to ensure you’re adding great candidates to your software delivery team.
- Do they understand the fundamentals of coding? Do they take a reasonable and logical approach to problems?
- Would I want to work on the same team as them? Are they easily coachable?
- Do they align with the company culture and values?
It’s no secret that the key to building high-functioning software development teams starts with your technical interview and hiring process. You want to ensure you’ve optimized that process so you can find and secure the best candidates. if you need help adding the right people to your team.