I have been involved in quite a lot of Software Engineer interviews in my life and have seen myself on both the sides - as an interviewer and as a candidate. Over ten years of experience, it’s much more clearer that the outcome depends not just on the skills which the candidate brings, but surprisingly the quality of the interviewer is a non-trivial factor, which cannot be ignored. The interviewer sets the stage of the interview and it makes a huge difference in the talent selection process.

Over years, I have put quite a lot of time in improving my interviewing skills, in an effort to make sure that I don’t let down the prospective candidates. Quite a lot of interviews I conduct are for college graduates with atypical resumes devoid of usual work experience. This means that the interviewer has to play a much larger role in the interview.

To me a great technical interviewer possess the following qualities:

Makes the candidate feel welcome and relaxed 😌

It should not come as a surprise that interviews can be nerve wracking, especially for a subset of people. Just because a candidate is nervous is not indication that they are not a good candidate for the position they are being interviewed for. If we are an interviewer want to ensure that we can find the best fit for the job, we need to create the right environment for the candidate to showcase their skills.

If it’s an hour long interview, I reserve the first few minutes (up to five minutes) to make small talk, icebreakers, introduce each other and at times chat about things not on the agenda. I strive to create an environment as such the candidate would consider me their co-worker and during the interview, which in turn helps me gather enough data points to evaluate them. If the candidate finds me intimidating (for whatsoever reason), they might not talk through their problem, which reduces their chances of success.

While the bulk of the responsibility does fall on the candidate, interviewers represent their employer and have a moral obligation to meet the candidate halfway on responsibilities. Every interview taken up by an interviewer is an hour they are not working, which makes it important that we utilize this time to the best of our abilities.

Outlines the structure of the interview 📓

Different parts of the interview are aimed at understanding different aspects of a candidate’s skillset. Some interviews can be pure behavioral, some can be system design, some are algorithms or data structures. Some interviews can be a mix of them. It’s imperative for an interviewer to be clear what this specific interview will entail.

Is it a system design or API design interview? Or both? If this is a coding round, then how many questions do you intend to ask. If more than one, then the candidate can pace themselves accordingly.

This is my go-to statement when describing the structure of the interview:

The first five minutes we both will introduce ourselves. The next 35 minutes is for coding, which will utilize the shared notepad link. Then the next ten minutes, I will ask you some behavioral questions and leave around ten minutes at the end for you to ask questions

Sets expectations, if required 🙌

There are times when you need to set the expectations from the candidate. If there are two questions, then do you want the candidate to finish both of the, or is the other question a stretch goal? If you don’t want to let the candidate know, then it’s fine, else let them know beforehand so that they can pace themselves accordingly.

If you are asking a design question, try to be a little more specific. Do you want them to design the classes, methods and properties? Do you want them to write APIs and how they interact? Do you want them to go deep into how the API will be implemented? Do you want them to make a service based architecture design? Do they need to show how an API call will flow from the client and which services will be utilized? You won’t have to tell them everything, but given the time constraints, it’s wise to give them some kind of direction so that they can actually meet your expectations.

If you are taking notes and will not be looking at their general direction (in person or virtual), then let the candidate know that even if you are not looking, you are still paying attention and taking notes. Tell them you are all ears even if your gaze is on the screen. This will stop needless pauses when the candidate looks at your direction to ensure you are paying attention.

Writes down the question before narrating 📝

Consider this experience - you as a candidate are interviewing remotely and using a shared coding link. Now the interviewer is going to provide you with the coding question. They start explaining and you are still looking at the coding pad and nothing appears. The interviewer finishes the question, but you were not able to grasp it completely. You ask them to repeat again, so that you can take a note on the code pad. All of this could have been solved if the interviewer came ready and shared the question before narrating it.

Interviews are time constrained and every second counts. You, as an interviewer can even offer the candidate if they choose to read it themselves or want it narrated. As an interviewer, it should be our job to keep in mind any cultural differences and different in accents which can make it difficult for the candidate to grasp the question during the narration.

Here’s my method

I am going to post the question on our shared code pad

Let me know if it shows up on your browser?

Now, I am going to read it out it for you… (narrates the question)

Now i’ll let you read it and start working on the problem

Leaves at-least 5 mins for questions ⏳

This part of the interview can sometimes lead to heated debates (surprisingly) as not everyone thinks that it’s that important. Maybe it has to do with the fact that there is a belief that what question you ask as a candidate makes a difference in the outcome. Honestly, I have no idea if that is true, since when I am an interviewer, I don’t let it guide my final decision.

This brings me to my goto statement before I prompt the candidate for questions. We have arrived at the end of the interview and I have enough information in my notes. I want to spend the next 5-10 minutes answering any questions you might have. Some people might disagree with this approach where I explicitly mention that it’s not going to make a difference.

Hear me out - It’s important that a candidate can ask relevant questions about the team, role and the company without being encumbered by the formal diplomacy associated with asking questions which themselves are part of the interview. If I am on the interviewer’s seat, I will do the job to the best of my abilities. I believe that every candidate deserves a fair chance, since they don’t exactly have an option to appeal the final decision.

Closes the interview with ‘next steps’ 🤝

It’s bit jarring when I or any interviewer ends the interview with “I think we are out of time. Bye”. Initially my thought was that it’s just me who ends up getting such interviewers, which was quickly proven wrong when I talked to some of my friends. How hard can it be for the interviewer to spend around 15-30 seconds to just provide the candidate with some information?

The closing statement doesn’t need to be rehearsed like it’s a court appearance, but can be as simple as "I will send the feedback to the recruiter who will get back to you soon" or some follow ups like "If the recruiter has not specified how quickly they will get back to you, contact them after 36 hours, 24 hours if you are on a tight timeline"

If it’s a part of the interview loop just ask the candidate "Do you want me to stay on the call till the next interviewer arrives?". It could be even as simple as "Your next interview is scheduled after 15 minutes, so now would be a good time to get fresh and be ready for the next round".