In many ways interviewing is an art. You have one hour (more if you count the cumulative interview time) to determine if the candidate has the desired skills, and, more importantly, if you would enjoy working with this person. That is a lot of ground to cover.
As if finding out all that information isn’t a daunting enough task, you also need to make sure that the candidate has a positive experience while visiting your company (after all, people talk and you want them to be saying good things—since this candidate may not be your next hire, but someone he or she meets may be).
As an interviewer, the key to your success is preparation. Planning will help ensure the success of the interview (both in terms of getting the information you need and giving the candidate a good impression).
The following list is advice to consider prior to stepping into that room with two chairs and a whiteboard.
1. Review the Candidate’s Résumé
Read every line of every résumé (and this goes for the really long ones that go on for four pages). Where have these candidates worked? How long did they stay in a role and did their positions change? These questions make for interesting conversation topics. Hopefully there will be something in a candidate’s background that piques your interest and can be great fodder for starting the interview with some common ground. This can put candidates at ease, giving them their greatest chance of success.
2. 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 your 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. This is partly because you will not learn as much from repeated questions, but also because the candidate will be bored or unimpressed going over the same ground. Great candidates want to be challenged, and an interview team where people are asking the same questions makes the candidate think the team is disorganized or unimaginative.
3. Use Calibrated Questions
Interviews are not the time to try something new. Take the time to do new problems on your own or test them on your peers. Come to the interview with questions that you were given in your interview (since you certainly will know how well you did) or that you have already given to others. Testing new material can really hurt a candidate’s chances for success or, worse, give him or her a bad impression of the company when you are not prepared to answer clarifying questions. You get the most from interviews when you can compare the results of one with another, particularly with the results of a successful hire or peer—so try to come to the interview with questions that will help you make this comparison.
4. 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 answer it. Where do you get hung up? How long does it take you? 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 it fun to turn the tables and interview your manager?). Seeing where the people you know and respect get stuck, or how long they take to solve it, will give you a good baseline for comparison with future candidates.
5. Create a Timeline for the Interview
You should walk into every interview with a schedule: 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 questions should be different from one another and give you a feel for multiple areas of the candidate’s experience and background. I like to ask about five questions, so a typical agenda might look like this:
- Warm-up question about the candidate’s background (or common interest): 5–10 minutes
- Problem-solving question that involves coding of some sort: 10–20 minutes
- Design question: 10–15 minutes
- Two to three cultural or situational questions: 5–10 minutes
- Time to answer the candidate’s questions
6. Head In With a Positive Attitude
You want the candidate to have a good experience with the company and your process. If you are upbeat, it is much more likely a qualified candidate will accept the position. If you are not, people talk and it is a small world. You want candidates to think well of the company and feel they were treated fairly. It’s like karma—what goes around comes around. To ensure this happens, try to make your questions and hints feel collaborative, and whatever you do, do not insult any candidates or make them feel stupid. They are probably nervous and you already have the job—there is nothing to prove, so make an effort to give them a fair shot.
7. Take Notes
Seems obvious, but so many people don’t take notes. Even if you have a photographic memory, taking the time to write down a few things here and there will indicate to the candidate you are paying attention and are genuinely interested in what he or she has to say. As an avid note-taker, here are some of my favorite tips:
- Try not to 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. When an interviewer uses a computer during an interview, it is easy to think that he or she is not paying attention to what the candidate has to say.
- Instead of writing code/drawings on a whiteboard, try paper. This may be more comfortable for most people than standing up at a whiteboard, and you can take the paper with you, which is better than any copied whiteboard code.
- Don’t write notes on the résumé. Someone once told me that in some cultures, business cards and résumés are considered a reflection of the person, and writing on them 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.
Don’t write notes on the résumé. Someone once told me that in some cultures, business cards and résumés are considered a reflection of the person, and writing on them can be insulting.
8. Bring a List of Questions to the Interview
No candidate will think less of you for coming in with written questions, and in fact some may appreciate that you prepared the same way they did. This will also help you establish your game plan and agenda so you don’t forget. Another one of my favorite tips is always to have spare questions for really good interviews (that get through all the material quickly) or for bad interviews (where you don’t want to ask your prepared questions because they are too hard).
9. Be Collaborative
You want the candidate to be successful, so try to approach a problem together. I know many other managers who have moved to a pair-programming model where the interviewer and the candidate code a problem together in an editor or Google doc.
10. Try To Make the Problems Feel As Real-World As Possible
Smart people want to be challenged. They also would love to get a taste of what it is like to work at your company. Do your best to come up with questions that at least hint at some of the problems you might solve (or problems that relate to the underlying theory of the work you do).
Of course, there is no right way to do an interview, but you can always be better. Make an effort to make your candidates as comfortable as possible so they have the greatest chance for success. Happy hiring!
Related articles
on queue.acm.org
Interviewing Techniques
George Neville-Neil
http://queue.acm.org/detail.cfm?id=1998475
Nine Things I Didn’t Know I Would Learn Being an Engineer Manager
Kate Matsudaira
http://queue.acm.org/detail.cfm?id=2935693
10 Optimizations on Linear Search
Thomas A. Limoncelli
http://queue.acm.org/detail.cfm?id=2984631
Join the Discussion (0)
Become a Member or Sign In to Post a Comment