How to Prepare for Conducting a Coding/Technical Interview
Technical and coding interviews are viewed as some of the most scary type of interviews, they test your knowledge on the spot and as a candidate it’s a very difficult process to overcome. That’s the reason that there is a million resources to prepare for taking these kinds of interview.
On the other side, there isn’t as much material to prepare for conducting these interviews as the interviewer. Being the interviewer can be as hard as being the interviewee! You must also prepare beforehand, overcome nervousness, guide your candidate, maintain a relaxed environment, etc…
The secret of being a good interviewer is in preparation. A good interviewer spends a lot of time and effort preparing for the interview. I can’t stress this enough: A thorough preparation process is a key to great interviews! As a Junior Developer I started doing some mock interviews for extra practice and would like to provide you with some tips for conducting an interview.
Have a Clear Picture of your Ideal Candidate
Before you start interviewing, you need to have a clear picture of your ideal candidate. Have a clear idea of this person’s characteristics, skills, knowledge and experience, as well as motivation and interests. Be sure to get an answer to these questions after finishing the interview:
- Will the candidate be able to write working code if they join the team?
- Can the candidate discuss code and problems with the people they’ll be working with?
- Can the candidate reason about arbitrary problems and constraints?
- Is the candidate someone we would enjoy working with?
Prepare your Questions
Interviewers who don’t prepare their questions beforehand are missing out on the chance to evaluate candidates effectively. To decide what you’re going to ask, first use the job description to determine which skills are most important and should be assessed during the interview. Then, build your questions around those skills.
Set Them Up for Success
You want the programming task given to be challenging, but everything else should be lined up to help the candidate succeed. The candidate should not need to deal with vague instructions, unclear expectations, or the mind-games of trying to guess “what does the interviewer actually want”. They shouldn’t have to deal with hostile personalities. If the real work environment is a good place to work, the interview environment should be too.
Coach your Candidates
Teach them about what you have learned on the field. If they start coding before they have reached an optimal solution or even discussed the possible options, step in and pull them back to focus on the algorithm. If they get stuck offer them useful hints that might guide them to the right solution. Your main task if for them to succeed!
Even if they fail to offer the most optimized solution at first, what you really are measuring is their ability to overcome failure which can often be very difficult, especially in a situation like a coding/technical interview.
Develop a Rating System
Develop a rating system with precise criteria for each and every one of your selected job interview questions. This is extremely important! Many recruiters skip this part, but that is a big mistake. Without it you might give a break to some of the candidates and won’t be able to assess your candidates’ answers in an objective and transparent way.
It’s not hard to conduct the interview poorly: antagonizing the interviewee, testing irrelevant skills, or wasting precious minutes on things which don’t matter. Focus on helping the candidate demonstrate their skills and knowledge and remember what really matters: Would I like to work with this person?