Giving a Technical Interview


“I just received an invite to give a technical interview for a candidate on Thursday. What am I supposed to do?”

That’s a great question. It’s going to vary a lot by where you work. The expectations can be all over the place. I’ll lay down how I give technical interviews and what I’m looking for. I recommend you talk to the people at your workplace and be sure you’re aligned on the goals of your company.

About twice a month, I’ll get someone coming to me to ask for career advice. I’m starting to collect the more common questions and my thoughts on them. I’m putting these together as a series of blog posts under the tag CareerPlusPlus.

What’s the point?

Why even give technical interviews in the first place? Ask five people and you’ll get five different answers. There’s a whole crowd of “technical interviews are terrible and you’re a horrible person for even doing them!” If you’re one of those, I invite you to the entire rest of the internet where you can shout into your own void. Nobody has to listen to me.

For me, the point of a technical interview is to find out where they are on the spectrum of

  • Knowledge
  • Experience
  • Intelligence

I think those are three different aspects. Ideally you find a candidate who rocks on all three of them, but I’m usually happy with two of three.

When I look at these, I’m thinking of it as a spectrum. It’s not a pass/fail. I think of it as “Is this person in the bottom 50% for knowledge of the role I’m hiring for? Are they in the top 5% of intelligence of the candidates I can find?” Knowing where those boundaries are can be difficult.

How do you know what’s a top 5%? Look around the people you’ve worked with before. Who has been the best you’ve seen at those categories? Ok, mark them as your top 5%er. Who do you know who’s been adequate, but never blown you away in one of the aspects? Make them your 50% mark. Now use these two people as your gauge. Ideally you’d have 6 people, unless you’re double dipping.

It’s great if you have an example of someone who’s a top 5% in one are and a 50% in another. That means you’re able to really differentiate the different aspects.

Oh, and if you don’t like my three aspects: throw them out the window and pick your own. It’s honestly that easy. Don’t let the perfect be the enemy of the good.

Prepare!

Have a script. Ideally your workplace already has one. This is good because it helps you make sure you’re asking all of your candidates the same questions. Additionally, it saves you from trying to think on your feet. As you give the same questions over and over again, you’ll get better at finding the nuances to the answers which will help you identify where this candidate fits.

Block off an extra 15-30 minutes after the interview on your calendar. Even if you don’t use it, it’s nice to not feel pressured to jump right off the call and into another thing. It gives you time to end the interview calmly and record your notes immediately while everything is fresh.

Read the script and think about how you would answer if you were on the other side.

Skim their resume. Find something to ask about besides just the list of questions you have. “What did you learn from doing X?” and “What was the best part of working at Y?” are good openers. These will indicate something about that person that may be impactful to your organization.

How to give the interview

Don’t do it alone your first time. Shadow someone before you do it yourself. Listen to how they ask the questions and ask yourself if you would have phrased it the same or differently. We cannot see in ourselves what we can see in other people.

Ask the questions and give an indication of what you’re trying to get out of it. Give them time to think. If it’s a particularly hard problem, I will sometimes tell them I’m going to get a glass of water while they have a minute to think about the problem before we start talking. I do that so they don’t feel pressured to say something immediately.

Remember that you know what the questions are ahead of time and they’re on the spot. Do not expect them to have the right answer immediately. You’re here to gauge them on how they think about problems and work and what their level of experience is in the domain. We need some time to process and walk through a problem.

Don’t give them the answer, but ask leading questions to see if they get there on their own.

Here’s a concrete example. I had one company who loved to ask questions about hashmaps during these interviews. It was a standard question. Ok, fine, I’ll ask it. But what if someone doesn’t know what it is at all when you say that. Maybe I’ll ask them about any kinds of maps they’ve used in code. Or I’ll ask about dictionaries in Python. Maybe I’ll ask them about sets. A lot of time they just need some mental prompting. Then, I’ll see if I can bring the question back around and see if they know the features of a good vs bad hashing function or why someone would want to use one in the first place.

Don’t ask bullshit questions. Don’t pick your favorite bit of trivia and use it as a stick to beat them with. For a long time I thought the hashmap question above fell into this category. It was only after I learned how to turn it from trivia into “how much do you know about this” that I started to appreciate the question at all.

Save time for them. This is just as much for them to see if you’re the kind of person they want to work with as it is for you to evaluate them. If I have an hour interview, I’ll reserve 15 minutes to flip the table. Also, the types of questions they ask will indicate something about the candidate. Sometimes it shows how much they’ve investigated the company. Sometimes it shows what is most important to them. You should learn something.

Answer honestly. It does nobody any good for you to do anything other than be open an honest. I’ve never regretted being transparent with a candidate. I share the good and the bad. Hopefully those are not in equal measure. Hopefully your workplace has far more good than bad for you to talk about.

Pitfalls

Be wary of people who just spout off answers from domain expertise. This is often a good sign in that it shows they have been in the domain a long time and might be pegging the scale of “knowledge”. But you also want to evaluate those other dimensions, so you might have to think on the spot and ask different questions.

It’s okay to say no. Junior people especially fall into this pitfall. They feel like they are not allowed to say no to a candidate when other people are saying yes. You were asked to do the interview because the company values your opinion. You should feel free to share it.

Don’t give them a false sense of hope. If you’ve decided not to move forward with the next stage, don’t tell them otherwise when they ask. I don’t offer it up unless the ask, though. The way I tell them is along the lines of “I know this isn’t what you want to hear, but from this interview I don’t think it’s a great fit for you and this role.” It may be hard to believe, but I’ve gotten some very sincere appreciation from candidates when I’ve done this. It’s also upset many. In my mind, it is more humane to tell them directly than to let them think it went one way and get their hopes up until an email comes to say otherwise.

Closing Thoughts

Interviewing is hard. You don’t have a lot of time and there is not perfect set of interview questions.

Approach it with intentionality. Remember why you’re there. You are trying to figure out where this candidate stacks up against your needs and expectations. They don’t have to get the answers to the questions you have right if you’re still able to judge thought process and intellect.

You’ll be fine. It will take time to get used to doing this. It’s awkward, but it gets easier.