How to Interview and Hire Software Engineers
Running an Interview
Most of us are familiar with standardized tests like the SAT that students take before applying to college. Recently, many schools have begun relying on these tests less and less, some even phasing them out completely, because of a growing awareness that performance in testing environments doesn’t provide an accurate picture of an individual’s ability to perform in real world situations.
Interviews share many of the same strengths and weaknesses of these types of academic tests. The very nature of an interview means that it can’t be an exact reflection of the job. However, as the interviewer, you have an opportunity to run your interviews in a way that—as closely as possible—represents the work and competencies you are hiring for. These tips will help you to prepare for and run your interviews in a way that helps you find the most qualified candidates for your software engineering team.
Optimize Your Time
Unless you’re hiring for a particularly senior or public facing role, consider whether or not you truly need more than 1-2 people involved in the interview process. Just like any other meeting when too many people are involved, it means that you’re spending a lot of time and money that are likely to be wasted. If you only hire 1 of every 5 people you interview, 80% of your time interviewing is spent with candidates you won’t be hiring.
When it comes to the technical screen, one of the interviewers will need to be an engineer with the knowledge to do the screen while the other ought to be the person who will manage that engineer. At Unabridged, everybody has the technical knowledge to perform the screening, so we take turns. One of us will do the cultural screen and then another will take the technical screen.
In many growing companies, cultural fit is considered to be as important of a qualification as experience and skill set. Don’t let that “culture” qualification get turned in to “looks, acts, and thinks like we do” to the exclusion of different demographics.
As you move through life, you gather bits of information about the world. When you make a decision, you assemble those bits and the stimulus on hand. If the group making a decision is homogeneous, they will be drawing from similar experiences, resulting in a narrower frame of reference. The more diverse the group, the more bits are available to make the decision and the better the outcome will be. Make sure your culture statement contains the right qualifiers to avoid discrimination that limits your business from attracting diverse talent.
Reflect the Workplace
The interview should be long enough that the candidate can demonstrate their skills but short enough that it doesn’t burn them out. Long interviews are counterproductive because, even though long meetings may happen in the workplace, few meetings are as intense. Unlike sales and customer support roles, software developers don’t normally work under a high pressure social environment so it doesn’t make sense to test their skills in one.
Video conferencing interviews are a good idea for people working remotely, because a lot of their meetings will take place remotely. Asking them to screen share mimics the work environment they will be in every day. Video interviews also means you can refer to the list of questions, keep time, and take notes while giving fewer body language indicators to distract or bias the candidate.
Give Clear Instructions
If you’re going to be using a web conferencing app for the video interview, let the candidate know ahead of time so they can download it on their computer. If you expect them to screen share and do a code review, let them know so they can have their environment ready. At work they will not have to master new tools instantly, so it doesn’t make sense to surprise them during the interview.
Don’t Fill or Lead
When the candidate isn’t talking enough, many interviewers feel a strong urge to fill the silence. However, that can impede their ability to formulate their thoughts and consider the situation.
Adding to the conversation can lead the candidate in a specific direction, which means they might change their answers to match what they think you want to hear. The more you lead, the more subjective the whole evaluation process gets and you want it to be as objective as possible.
Keep It Moving
Your time is valuable so it’s important to avoid getting sidetracked by tangents. Manage your available time so you can cover all of the interview’s scope. Two candidates answering the same question can provide significantly different amount of detail and background information. Some of this background information is useful, but you have to be mindful of the time and be comfortable with redirecting the conversation back to the questions in a neutral way.
Avoid making them feel like they were doing something wrong with a comment like, “That’s enough about that, now tell me about X”. Instead, move the conversation along with something like, “Thanks for the answer. We need to keep going to make it through the questions”. A simple response like this doesn’t give too much feedback about what they were saying, which keeps them from getting too excited or too doubtful, and gives them space to breathe and provide their own answers.
There are pitfalls to providing both positive and negative feedback in an interview. Negative feedback can drive anxious candidates in to a downward spiral where they will obsess over previous mistakes. Similarly, too much positive feedback can distract the candidate as they get excited about their performance. It also increases the emotional downside risk if later in the interview their answers are no longer being met with the same level of enthusiasm. Instead, simply acknowledge an answer and keep moving to cover the full scope of your interview topics.
Remember that, even though interviews are a manufactured situation, you have the opportunity to run them in a way that fits your needs and workplace. The right approach can make each interview more successful for you and your candidates.