How to interview developers

I’ve been on a lot of job interviews and I’ve interviewed other people a fair amount as well. I’ve developed some strong opinions over the course of these experiences and I’d like to share them with you. The way I propose doing interviews is a lot different from how I’ve seen it done at most places.

Ask open-ended questions as opposed to yes/no questions
A yes-or-no answer reveals very little information about a person, and to say yes or no to a question doesn’t require any knowledge about what is being asked. Instead of asking a candidate, say, if he or she is comfortable in an unstructured startup environment, ask the candidate what skills he or she thinks is necessary to work effectively in a self-managed team.

Have a printed list of questions
If you have a printed list of questions, you can focus on what the candidate is saying, and you don’t have to expend mental effort trying to think of the next question. Having a prepared list also makes you look more professional, and remember: the purpose of an interview isn’t just for a company to evaluate a candidate; it’s also for the candidate to evaluate the company.

Record and share your opinions and observations with the team
The point of a job interview is to make a hiring decision, and decisions require information. Wouldn’t it be pointless if a manager went into a job interview not knowing how he wanted to evaluate a candidate, and then made the hiring decision based on everyone’s vague memories of that hazy evaluation, several days later? Yet in my experience, that’s how most hiring decisions at most companies seem to work. If everyone who talks to the candidate writes down his or her thoughts afterward, the hiring manager can make a much more intelligent decision.

Be polite, friendly and respectful
Again, remember that interviews are a two-way street, and not only is the company evaluating the candidate, but the candidate is evaluating the company. Don’t boss the candidate around or make him or her jump through hoops. Don’t assume that you’re smarter and more experienced than the candidate. Even if you know you are, don’t make a show of it. The candidate probably has other job prospects, and the better the candidate is, the less likely he or she is just aching for you to throw a life preserver out to his or her poor soul. Why not try to leave the best possible impression on your candidate? If the person doesn’t join your team, you want it to be because you decided not to hire them, not because they didn’t like you.

Don’t give false hopes
Lastly, there’s nothing to be gained by giving the candidate false hopes. If you blurt out something like “I think you’d make a great addition to our team,” then you’re bound to either hire that person or go back on your word. And for Pete’s sake, don’t say anything like that if you’re not the decision-maker! Save your decision-making for after the interview, and notify the candidate of your decision after the decision has been made. No reasonable person is expecting you to give them a yes or no on the spot.

Jason’s Interview Checklist:

  1. Come up with a list of questions, and print that list
  2. Take notes during the interview
  3. Document your pros and cons, and share with the appropriate team members
  4. If you’re the decision-maker, make the decision
  5. Communicate that decision–whether yes or no–to the candidate
  6. Pat yourself on the back for being such a smart hirer, and send Jason Swett a check for $100