In many ways interviewing is an art. You have one hour (more if you count the cumulative interview time) to assess if the candidate has the desired skills; and, more importantly, if you would enjoy working with them. That is a lot of ground to cover!
And as if finding out all that information wasn’t a daunting task, you also need to make sure that the candidate has a really great experience with your company (after all, people talk and you want them to be saying good things – since they may not be your next hire, but someone they meet may be…).
As an interviewer, the key to your success is preparation. Planning ahead will help you ensure the success of the interview (both in terms of getting the information you need, but also giving the candidate a good impression).
The following list is something to consider prior to stepping into that room with two chairs and a whiteboard (or laptop, etc) 🙂
- Review the candidate’s resume. Read every line of the resume (and this goes for the really long ones that last 4 pages). Where have they worked? How long did they stay in a role and did their positions change? All of these questions make for interesting conversation topics. Hopefully there will be something in their background that piques your interest, and can be great fodder to starting the interview with some common ground (which can put the candidate at ease, giving them their greatest chance of success).
- Review feedback from previous interviews. Most software companies have a longer interview process that can start with phone screen or homework problems and evolve from there. If the candidate has done homework problems, or your teammates have taken the time to type up feedback, do the due diligence and read it. These can also be a great source of material for questions, but more importantly, it is unprofessional to ask the same questions that have already been posed to the candidate. Partly because you won’t learn as much (you can learn from question and hearing the same, or similar, answers), but also because the candidate will be bored or unimpressed with the same questions. Great candidates want to be challenged, and an interview team where people are asking the same things make the candidate feel like the team is disorganized or unimaginative.
- Use calibrated questions. Interviews are not the time to test out a new problem, take the time to do new problems on your own or test them on your peers. Come to the interview with questions that you have been given in your interview (since you certainly will know how well you did), or that you have given to others. Otherwise, testing out new material can really hurt that candidates chances of success, or worse, give them a bad impression of the company when you don’t know, or aren’t prepared, to ask their clarifying questions. You get the most from interviews when you can compare the results of one to another, particularly to the results of a successful hire, or peer – so try to come to the interview with questions that will help you do make this comparison.
- Test new questions on yourself and your peers. If you do have a new question you want to give a dry run, have someone ask you to do it. Where do you get hung up? How long does it take you? Of if the problem is too familiar to you to assess it, ask one of your teammates to be your guinea pig (as a manager I often offer to be the interviewee for my team to test out new questions – after all isn’t fun to turn the tables and interview your manager?). Getting familiar with the places people you know and respect get stuck, or how long they take to solve it, will give you a good baseline for comparison for future candidates.
- Create a timeline for the interview. You should walk into every interview with a plan: what questions you plan to ask, and how long each should take. Each question should have clear goals and focus on specific competencies for the position. Ideally the competencies and questions should be different from one another and give you a feel for multiple different areas of their experience and background. For me, I like to ask about 5 different questions, so a typical agenda might look like:
- Warm up question their background (or common interest) – 5-10 minutes
- A problem solving question that involves coding of some sort – 10-20 minutes
- A design question – 10-15 minutes
- 2-3 culture or situational questions – 5-10 minutes
- Time to answer their questions
- Don’t use a laptop. Yes, it is probably faster and more efficient, but it can be a physical divider between you and the candidate, not to mention off-putting. Moreover, when someone was using their computer during one of my interviews once I couldn’t help but thinking that they weren’t paying attention to what I had to say.
- Instead of writing code/drawings on a whiteboard, try paper. This way the candidate can use a pen at a table (which can be more comfortable for most people vs. standing up at a whiteboard), and you can take the paper with you – and that is better than any copied whiteboard code.
- Don’t take notes on their resume. Someone once told me that in some cultures business cards and resumes are considered a reflection of the person, and writing on it can be insulting. While I personally haven’t encountered anyone who felt this way, I am sure never to do this (and bring my own paper) just in case.
Hope this helps you start your next interview on the right foot, and if you have any other tips don’t hesiate to leave them in the comments…