Last year, I was involved in many tech interviews, and in this article, I want to share my experience.
The first step in every interview is preparation. This is a very important part, and it starts with reading the candidate’s CV. It shouldn’t be very big, but it should contain all the main information about the candidate’s achievements in his previous places and his tech skills. It is very good to check that the CV contains information about skills that are required for the target position. If something is not clear, you can ask HR to clarify these points before the interview.
When I clarified all the basic information, I start to think about the questions and practical tasks for the candidate. Theoretical questions should cover all target areas, from general knowledge in programming to specific things based on target position needs: Target programming language knowledge, programming paradigms, development flow, CI/CD process, frameworks based on target tech stack, etc.
Coding skills are also very important, so it will be very useful to prepare some practical tasks based on requirements. This will help us to check the candidate’s coding skills, and how he can understand requirements and asks questions if something is not clear.
We can split an interview into several parts:
Every interview starts with an introduction. I'm introducing myself and my company and asking some questions about connection quality (if we’re talking about an online interview). Then it’s time for small talk. We can talk about anything, the weather, music, or traveling. The idea of such small talk is to create a good and warm atmosphere and reduce the anxiety level.
For most candidates, tech interviews are always stressful, for some it’s very small, and for others, it’s very big. Our small talk helps us to relax a little bit. 5 minutes is more than enough for this.
The next step is the candidate’s self-presentation. Usually, it takes 5-8 minutes. During this part, the candidate talks about his experience, his previous projects, what roles he played, and the duties he had. I like to ask some additional questions, for example, what was the most challenging task during your last project and how did the candidate resolve it? This helps me create a general picture.
The biggest part is checking tech skills. During the preparation, we create a list of questions, and this helps us. We already know what to ask. Very often, I combine this conversation with some practical tasks. We can discuss some topics and then I propose a small coding task to check the discussed areas from a practical side.
Sometimes I create a conversation around the coding, for some candidates, such a format is easier than theoretical discussion. Of course, very often you need to update the discussion scenario on the fly as, during the conversation, you understand that it’s needed to discuss something else, or the same thing but more deeply.
This is the final step. In the end, I spend 5-10 minutes answering candidates’ questions. I think this is also a very important part, as an interviewee wants to know some additional information about the potential project or the company. And this is also a good time to understand how the candidate asks questions. This is important for us because during our everyday work, we need to ask a lot of questions: to our team members, our designers, and project managers to clarify a lot of things or requirements.
That was the last part for the interviewee, but not for us. Cause after the interview, the very important step is to provide feedback to the HR team. You need to analyze the interview, how it was going, and provide complex information with a description of the candidate’s skills, tech, soft, and provide information about his gaps.
And also, you need to provide suggestions for candidates. What they need to improve and where they can find this information.
I prefer to write notes during the interview; this helps me later with writing the feedback.
I hope that this small story will be helpful to someone who is also involved in the interview process.
Photo by Sebastian Herrmann on Unsplash