Hiring hacks for interviewing software engineers

Portrait of a happy man at work

5 mins, 51 secs read time

An interview is a very vulnerable display of oneself, and I am humbled by the fact that some 400 engineers have sat with me for interviews – they taught me how to do it right.

I've previously put together a team of brilliant engineers from the likes of Google, Facebook and Amazon for a seed-funded startup as the product manager and set up an entirely new tech team from scratch for FusionCharts as a product consultant. I'm now doing this at scale as the co-founder at Adaface, where we automate first round technical screening with our chatbot, Ada. Since it has been a core part of my job for several years now, I've been designing an interview process that I'd want to go through myself and that helps us find the engineers best suited for the role.

Here is a list of ten of the things I've learned so far, with actionable insights that hiring managers can incorporate into their hiring process.

1. Create a writeup on the must-have skills and how you evaluate them. Share it with candidates beforehand.

What's a must-have skill? If a candidate doesn't have this skill, we won’t interview them. Have this locked down with all interviewers. Do not let each interviewer decide for themselves what's important for the role.

Share your must-haves in the invitation email that you send to candidates, and tell them what is going to be discussed. This helps candidates relax, because they know what to expect.

2. Break the ice. You first.

It takes time for candidates to get comfortable. So we shouldn't expect them to start with introducing themselves. Have a pitch about yourself, the company and the role at the ready. Start with an introduction of yourself and set the stage for them.

3. Ask them about their communication style and adapt to it.

Not only is this one of the most important aspects of an interview, it’s also one that most of us get wrong. I understand why some interviewers expect candidates to walk them through their thought process – it makes their job easier. But we need to learn to work in a way that's most conducive for the candidate to perform at their best.

I like to give candidates all options upfront: "Here are a few ways we can do this – what would you prefer?"

4. Ask questions that help you score candidates granularly.

Don't ask trick questions just for the sake of a filter. They don't give you any meaningful signals about the ability of the candidate.

  • Don't let each interviewer randomly decide what questions to ask candidates.
  • Have a library of questions with different levels of difficulty and for different years of expertise.
  • Each question needs to be solved by all interviewers before you start interviewing candidates. Allow candidates a generous allowance of double or triple the time it took the interviewers took to solve that question.
  • We want to understand the candidate's level of ability in a given skill. So asking everyone the same questions is a waste of time. If a candidate couldn't solve two questions of medium difficulty, asking an easier question next will give you more useful data than asking another hard question.

5. Have a consistent scoring mechanism.

This is what I like to call the assume-the-candidate-is-exceptional way to score.

  • Assume that the candidate will solve the question in the best possible way and give them a 5.
  • Throughout the course of the discussion, add negative points for things that matter and the candidate doesn't do well on.
  • For a role requiring a good grip on algorithms, for example, take off -1.5 for only being able to arrive at an unoptimized answer on their second attempt, -1.5 if you had to give a very revealing hint to move forward, -2 if they give up too soon, -0.5 if they miss edge cases and so on.

6. Excite, inspire and challenge.

Ask at least one question about where they struggle. If they solve everything, they will perceive it as an easy interview. They might associate that with how challenging the work would be, making the role unattractive. Discuss at least one challenging question so that the conversation has taught the candidate something new, irrespective of the outcome. It also gives you a lot of meaningful data on how they react in a difficult situation.

Also talk about the impact you have made to the company as an individual contributor and what your upcoming projects are.

7. Create a scorecard as you go and check for bias later.

Don't write the scorecards after the interview. You will forget a lot of what happened, and the scoring won't be as granular. Make sure you check for bias at the end. Did you score someone higher just because they went to a Tier 1 university? Did you score them higher or lower because they were of the opposite/same gender? Or because they were similar to you?

8. Force yourself to say yes or no by choosing better scales.

We don't like to take ownership of things we didn't sign up for and it is hard to take a stance to reject or hire someone. That’s why we end up saying maybe a lot of the time, so someone else will make that decision. One way to change that is by choosing from this scale from 1 to 4:

  1. If they're hired, I quit.
  2. Don't hire them.
  3. Hire them.
  4. Hire them, or else I quit.

That way, you won’t end up with a maybe but a polarizing yes or no. Now it will be easy to discuss candidates in the context of hiring them.

9. Hire. Don't get too caught up in finding the absolute best.

Some hiring managers never compromise on the “quality" of hires. But we need to execute – and to that end, I believe a humane version of a hire fast, fire fast strategy is better than not hiring anyone at all.

If we only hire using a very rigid framework, we'll end up with a non-diverse and eventually boring group. Sometimes we need to go with our guts and make a few ”maybe” hires. That being said, be mindful of how many such hires you're making, what their responsibilities are and who their manager will be. Set up 1:1s to check how they're performing.

This hiring strategy has worked quite well for me in the past:

  • If any interviewer said 4, even if someone else said 2, hire.
  • If no one said 4 and at least one interviewer said 1, don't hire.
  • If at least two interviewers said 3, hire.

10. Be kind.

I'll end with this: if you do nothing else right, make sure interviewing with you is a positive experience. If a candidate who’s not qualified for the job ends up in a face-to-face interview with you, that’s not their mistake – it’s your hiring team’s mistake. Don’t take it out on the candidate.

Interviewing can be extremely stressful for candidates, and you never know what someone might already be going through. There are enough companies in the world that provide for a terrible candidate experience. Strive to be an example of how it can be better.

This blog was originally posted on the Adaface blog.