How to Conduct Effective Technical Interviews
Early in my career, I avoid conducting interviews. The responsibility of impacting someone else's future felt immense. Then, I got a place where I had to help hire for my team. that where i start Through shadowing and conducting interviews, and now i have been interview for few years, I developed a system that makes me a better interviewer and takes some of the pressure off. Here's what I've learned...
Prep Work: Understand the Candidate and the Role
Read the resume just before the interview:
This will help you understand the language the candidate uses, see how they describe their work, identify their areas of pride, understand the systems they've built, and grasp the domain knowledge they'll reference (this is especially helpful during system design interviews, for example).
Understand what you are interview for:
Understanding the position and what the hiring team is looking for is crucial. If it's unclear, schedule a brief meeting (5-10 minutes) with the hiring team or hiring manager to gain clarity. This will allow you to tailor your questions and focus on specific signals.
Pick the right question
Pick well-defined question that you deeply understand. Research the topic thoroughly to uncover multiple implementation methods. The last thing you want is to have a limited perspective on solutions and give hints that confuse the candidate or lead you to form inaccurate impressions. Most companies have predefined question sets; study these, ask who developed them, and try to shadow interviewers who use them. Knowing the questions inside and out will help you guide the candidate without confusing them.
Create Grading Framework
Define a grading system for your questions. This doesn't have to be strict, but it will guide your decision-making when you're unsure. For example, if the question has two parts, completing part 1 might be the minimum for a soft yes, completing part 2 with minimal hints indicates a strong yes, etc. This system helps reduce bias and provides a framework for your evaluations.
Ask, Observe, and Assess:
List of good and bad signals to watch for pre-defining good and bad signals heightens your awareness during the interview. It makes it easier to track your impressions, reduce bias, and serves as a checklist during the interview itself. Consider modifying this list as you identify other important signals.
Example signals for a system design interview:
Good Signals
-Discusses both functional and non-functional requirements
- Asks clarifying questions
- Open to using online resources
- Discusses trade-offs
- Expresses opinions but is open to alternative approaches
- Admits uncertainty and willingness to research
Bad Signals
- Demonstrates overconfidence while being incorrect
- Frequently looks out the window without addressing it or asking if it's allowed
- Lacks a sense of ownership over past work
I used obisidian as my note taking software and I type my interview note also there. I have a template document, before each interview I clone for each interview. it have sections for similar signals, if i run into a one i mark it, make things much easier.
by the end of the interview i have my notes and these signal and the grading framework and it become more process and strucure in way that help me remove bias and focus on what matter.
Remember, interviewing is stressful. Be kind and attentive to the candidate. Minimize distractions by blocking notifications and take notes throughout. This is especially important if you don't write your feedback immediately after the interview.
