Learn 5 essential tips for conducting efficient and respectful developer interviews, focusing on communication, relevance, strengths, feedback, and subjective evaluation.
People Mentioned
Have you ever been interviewing developers and not had enough time to get to know the candidate better? Or are you worried that you didn’t evaluate the candidate objectively? Or maybe you hired someone who later turned out to be completely different in the job?
I’ve held about 100 interviews with mobile developers and today I’m going to tell you how to make the interview process more efficient for you and at the same time not boring or stressful for the candidate.
I’ll give you 5 key tips that have greatly improved my interview process and made it more enjoyable for candidates.
I should note that my insights will apply to small or mid-sized companies. The kind of companies where the candidate is usually the person you’re going to work with. Big techs might have a different process with multiple steps and different interviews with different engineers whom the candidate might never see again. We’ll talk, though, about other companies, which I think are the majority.
Tip 1: Answer the questions you ask
In the past, when I was going through interviews myself, there were times when I was like under interrogation. I was asked a question, I answered it, and then the interviewer just moved on to the next one.
First, it’s simply uncomfortable because it doesn’t look like a conversation between two people, it looks like an interrogation. Are you sure you want to leave an impression of a company that likes interrogations? Or do you enjoy doing the interrogation yourself? Don’t do that, please.Second, you will help both the candidate and yourself. If they are right, they will be reassured. If they are wrong, they will learn something new and spend some quality time. And if that person is wrong and starts arguing unreasonably, it’s a great opportunity for you to see a red flag that you wouldn’t have seen otherwise.
Third, if you’re afraid, don’t be. I’ve heard that if I give the right answer, I’m setting up the wrong expectations. This is potentially your future colleague, you have to work with them. Communicate the way you would communicate at work: ask a question, have a discussion, get an answer, and then discuss what the right answer was.
Many times I’ve gotten feedback from candidates that it had a positive effect on their mood and anxiety. And even if you don’t hire the candidate, it’s easy for them to tell their friends about how awesome our interview was.
Tip 2. Don’t ask for something that was more than 3 years ago
If you want to dig into the depth of the candidate’s knowledge, it’s better to talk about experience within the past 3 years. If the candidate worked on a project 7 years ago, a topic you know a lot about, then don’t throw yourself at it. All you’ll show is that you’re an expert on the topic. And you’ll waste valuable time. Instead, you could be discussing the candidate’s present, strengths, not something that happened long ago.
In 2019 I was interviewed for the position of Android developer. My resume stated that I worked as a C++ developer in 2011, 8 years prior to the interview. What did the interviewer do? He started asking me about C++. Theoretical questions, tasks, showing me code samples, and asking me to find a bug. And I haven’t used C++ in 8 years, so I forgot the difference between delete and delete[]. What was the point of asking me about it? I didn’t get it either. But the interviewer must have had a great time during those 20–30 minutes.
As an interviewer, when you see a topic you are good at, don’t be tempted to start asking about it in detail if the candidate worked with it 5 years ago. After all, who are you interviewing for — yourself or to test and hire the candidate?
There are exceptions when a candidate wants to go back to something they did a long time ago. Or a candidate continues to do the same thing. That’s normal.
However, as we evolve, we can change technologies, stacks, projects, focus, etc. And there’s no point in asking about irrelevant things. Spend the time asking about actual work.
Tip 3. Concentrate on strengths, not weaknesses
We humans are such creatures who focus on the bad. We overlook the good. Did you ever think about what news we click on? I don’t mean to insult you personally, but on average we humans are more addicted to all sorts of negative things than positive ones.
You probably have a list of topics you want to discuss, and you go down that list. If you find that a person starts to answer badly on a certain topic, that’s it, switch to another one. The candidate doesn’t know everything, plus they’re nervous. If the candidate knows the other topic well, then ask more questions there.
After all, if a candidate didn’t answer well what synchronized or volatile is, why should you ask him how atomics works and what CAS algorithms are?
You may say that it is not so important what strengths the candidate has, what is important is what the company needs. However, I would disagree here. It is important to have both at the same time. You should not just want to “pass” or “fail” a candidate. Knowing the candidate’s real strengths will help you give them a fair assessment so that they get a fair offer. Not an overpriced one, or worse, an underpriced one.
I’ll be honest, this advice doesn’t come easy. I don’t always manage to follow it 100% myself. However, I try.
Tip 4. Give feedback right away
Perhaps your company has certain rules and a rigid interview format that prohibits giving feedback right away. Yet, if there is no such rule or if you can influence it, giving feedback right away is great! You may not be able to tell right away if a candidate will make it to the next stage, or you may not be able to give them a final grade right away. That’s okay. However, you can discuss the candidate’s strengths and weaknesses at the end of the interview. For example, you might say that the candidate did a great job with the Android SDK, but didn’t do well with multithreading and had some issues with coroutine scopes.
Why is this important?
It’s an extra step of the interview. Giving feedback is a great chance to look at the candidate and see how they take it. Do they start furiously arguing or proving that they’ve been misunderstood? Or do they calmly accept feedback and maybe even give you correct feedback in return? This too is very interesting to observe, because you will potentially have to work with this person.
Transparency is another bonus. When you do your work openly and discuss it publicly, it immediately increases your credibility and shows that you are not inclined to hold anything back. If you share this principle, a job interview is a great chance to demonstrate it.
Respect is always appreciated. If you are interviewing, both you and the candidate have chosen to spend your time this way. That choice is worthy of being treated with respect. And if you’ve spent the time and effort, it makes sense to quickly summarize at the end of the interview. Especially since it doesn’t cost you anything. Don’t forget that it’s not just you who chooses the candidate, but the candidate chooses you.
Since immediate feedback is rare, you can stand out from the crowd by demonstrating this attitude to the candidate. I find that giving feedback right away is a win-win strategy. Now I always try to do that in job interviews.
Tip 5. Don’t pretend to be objective
This is an insight that I haven’t given much thought to before.
When we interview, we strive to evaluate a candidate objectively and unbiasedly. I used to approach the interview that way. I tried to become the most objective person in the world! But then I realized that:
It’s unrealistic. We are all different people, we all have our biases in different areas. Even in university, it makes a big difference which professor you get to take the exam with. By the way, this is one of the reasons why big techs conduct 4–5 interview rounds. The reason is that even when a candidate is solving algorithmic problems (a seemingly objective thing), they are still being evaluated by a specific person. The company wants to get 3–4 different feedback from different experts about the candidate.
You don’t have to! After the interview, you or your team will have to work specifically with this person. So why pretend, when you can pay attention to how much you feel comfortable communicating with the candidate in addition to their purely technical responses? Is there any negativity or discomfort?
How to apply this advice? In addition to the accuracy of technical answers, note how the dialog is going. If the dialog is going tough — leave a note. If the dialog is going great, leave a note. Take this into account when making hiring decisions. Answer the question, “Would I want to work with this person?”.
There’s a thought for candidates in this advice, too. If you don’t pass the interview, don’t sweat it. Just conclude what you need to improve, work hard, and try again. Because the people who make a particular decision are subjective. If one interviewer finds you less suitable, another might find you more suitable.
Final thoughts
Hiring the right candidate is important, as you are the one who will be working with this person. These 5 tips will make the interview process more efficient and informative, allowing you to find the best fit for your team while remaining respectful and open to all candidates.
Here is a summary of the 5 tips we reviewed:
Answer the questions you ask.
Don’t ask for something that was more than 3 years ago.
Concentrate on strengths, not weaknesses.
Give feedback right away.
Don’t pretend to be objective.
Remember that the interview is a two-way street. Treat the candidate’s time with respect, allow them to learn from you, and value their feedback because to hire someone, you need them to want to work for your company too.
I hope these tips help you through the hiring process, and I wish you a successful interview!
If you have enjoyed this article, subscribe and follow me on Twitter: