Hello everyone! My name is Roman, and I am a Senior Software Engineer at Vector Software .
In this article, I will share my knowledge of conducting technical interviews, demonstrating an effective and, in my opinion, correct process from preparation to conducting a successful interview. In my practice, there were various interviews: successful and not-so-successful.
For me, a successful interview is the one after which both the candidate and the interviewer are satisfied. After the interview, each party should leave with positive impressions and get certain advantages: the candidate gets new knowledge, and the interviewer has the opportunity to analyse the interview and improve it for future candidates.
1.Defining Candidate Requirements
Before starting the interview, it is critical to clearly define the candidate’s requirements. List the required technical skills, education and experience that are considered key to success in this position.
Technical skills: Proficiency in programming languages (e.g. Python, Java), understanding of databases and experience with frameworks (e.g. Django).
Education and Certifications: Bachelor’s degree in Computer Science or equivalent experience. It is desirable to have certificates in relevant technologies.
Work experience: At least 3 years of work experience in the field of software development. Preference is given to those with experience in large projects or working in a similar industry.
By defining clear requirements, you will lay the foundation for effective candidate selection and simplify the interview process by focusing on the key aspects that are important to your company. It is also important to determine the priority and importance of each technology (this is important for the skill matrix, which will be discussed in the next section).
2. Necessary documents
Thus, after receiving information about the vacancy, the next important step is the preparation of the Skill-matrix. If it already exists, then it is necessary to adapt it to the requirements of a specific vacancy. If there is no such document in the company, I recommend creating it. For this, you will need the Excel program and about 10 minutes of free time.
It could be something like this:
Yes, there is a wide variety of skill matrix types, from detailed and complex to simple, like the one shown in the picture. But why is this all necessary? Imagine that you are interviewing numerous candidates for one position. This process can take a considerable amount of time, especially if you have to interview many candidates over a long time, such as one week or even a month. Under such conditions, it can be difficult to compare candidates, especially if you only remember recent or recent ones. This is where the skill matrix comes into play.
Thanks to this tool, you will be able to organize and compare the skills of each candidate. This allows you to identify the strengths and weaknesses of each applicant, as well as to effectively determine who best meets the requirements of the job. This approach will save you time and ensure a more objective selection of the best candidates for your team or project.
A situation may arise where a candidate excels in all but one technology. In this case, we can already determine how important this or that technology is. For example, suppose a candidate demonstrates a high level of skill in all key technologies, but has less expertise in one of them. In that case, this may be less critical if that particular technology is not critical to the project or team. It’s important to consider technology priorities and understand their importance to a specific job opening to ensure you make the best choice for the candidate that most closely matches the needs of your team or project.
3. Recommendations for preparing for the interview
At this stage, it is critical not only to familiarize yourself with the superficial aspects of the candidate’s resume but also to conduct an in-depth analysis of his technical competencies. Here are specific steps that can help you make the most of this stage:
3.1. Resume analysis and review of technical experience: Highlight the key skills listed on the resume and prepare questions to find out in detail the candidate’s level of mastery of each of them. Do an additional search for information on the projects he has listed in his work experience so that you can discuss their technical details. Example: If the candidate indicated “high confidence in Java,” ask them about specific projects where they used Java and how they solved difficulties.
3.2. Technical task: Create real-life scenarios that the candidate might encounter in the workplace. For example, if it’s a developer, submit a coding challenge. Apply tasks that require the candidate to apply different aspects of their technical expertise. Example: Provide a coding challenge where the candidate must apply their skills to a real-world scenario, such as creating an algorithm to optimize a database.
3.3. Assessment of competences: Create a matrix of key competencies that the candidate should have. Use this matrix for systematic assessment during the interview. Prepare questions aimed at determining the depth of understanding of technologies and their practical application. Example: Prepare questions about his most difficult technical tasks and how he solved them, and evaluate his logic and details of solutions.
3.4. Assessment of strategic thinking: Prepare questions related to a strategic approach to solving technical problems and determining optimal solutions. As a candidate, he solved problems that required thoughtful and strategic thinking.
3.5. Evaluation of technical trends: Prepare questions to determine how well the candidate keeps up with the latest tech trends and how they incorporate them into their work. Assess his readiness for continuous learning and development. Example: How the candidate follows the latest trends in his technical field and what new solutions he has already successfully implemented. These examples will help you flesh out your candidate assessment process by providing practical scenarios that will demonstrate their technical skills and strategic thinking.
4. Acquaintance with the candidate: preparation and assessment of professional experience
At this stage, it is important to properly conduct introductory communications with the candidate and analyse his professional experience in detail. It is also important to analyse how confidently the candidate communicates. Some candidates may be nervous during interviews, and you should act as a psychologist. If the candidate looks confident, you can move on to technical questions. If you feel that the candidate is tense, you should relieve the tension: ask simple questions, let them know that there will be both easy and difficult questions in the interview, but there is no need to be afraid. Sort your questions from easy to difficult to create a gradual transition and add confidence to the candidate.
It is important to understand that your goal is not only to get technical answers, but also to determine how the candidate would cope with the stress and variety of tasks. Let’s consider how this can be implemented, giving concrete examples:
4.1. Self-presentation and presentation of the candidate: It is important to allow the candidate to introduce himself and talk about his experience, skills, and professional goals. This creates an opportunity for the candidate to impress the interviewer and demonstrate the relevance of their skills to the job. Example: Ask the candidate if they can briefly describe their career path, key achievements, and skills they believe are key to the role.
4.2. Detailed analysis of CV and professional experience: Carrying out a detailed analysis of the resume and professional experience helps to better understand the candidate, and his career path and focus on certain technical or professional areas. Example: Ask the candidate about specific projects that he noted on his resume, and elaborate on his contribution and role in those projects.
4.3. Questions about professional growth: Learning about the candidate’s ambitions and plans for professional growth helps to find out how important development and improvement in the field is to him. Example: Ask the candidate to share his plans for the future and how he plans to develop his skills and competencies.
4.4. Interaction with colleagues and team skills: Assessing how a candidate interacts with colleagues and possesses team skills is essential for successful teamwork. Example: Ask the candidate about his experience of cooperation in a team, conflict resolution, and joint achievements in a team. 4.5. Expression of expectations from work: Understanding what the candidate expects from the job helps determine their motivation and compatibility with the company culture.
Example: Ask the candidate what his expectations are for the new role and how he sees his contribution to the project or team. 4.6. Checking the coincidence of information in the resume: It is important to check whether the information provided in the resume matches the candidate’s answers during the interview. Example: The question can be formulated as follows: “Can you tell in detail about project X, which you indicated in your resume?”. These examples will allow you to systematically study the candidate’s professional experience, determining his ability to cooperate and adapt in a new work environment.
5. Technical interview: practical tasks and assessment of habits
We have already talked a little and got to know each other, and now we can move on to the most important part – the technical part. The technical part should include questions about Soft and Hard skills. During the interview, try to analyse the candidate, and observe his reaction to the answers. Get in the habit of not pressuring the candidate and take pauses, especially if he is thinking (perhaps formulating an answer). If the answer to the question was not given, try to help the candidate find it. Maybe give a little hint. Ideally, if the candidate didn’t answer the question, explain it to them. In this way, you will raise his technical level and leave a positive impression. The technical interview is a key stage in the evaluation of the candidate and his ability to solve specific tasks. In this section, we’ll go over each point in more detail and provide examples of how to craft a technical interview that provides a deeper understanding of the candidate’s skills.
5.1. Preparation of unique technical tasks: Create a set of tasks that reflect the specific challenges your team typically faces. For example, how to solve a certain database design problem or write optimized code to improve performance.
5.2. Analysis of the candidate’s reaction and decisions: Observe how the candidate responds to technical challenges. Does he demonstrate a deep understanding of tasks and seek optimal solutions? For example, you can suggest solving a memory problem in the program or optimizing an SQL query.
5.3. Communication and cooperation: Ask questions that require discussion and collaboration. If the candidate solves a task that contains a multifaceted solution, this may indicate his ability to work in a team.
5.4. Evaluation of practical experience and Soft Skills: Ask about specific situations from a previous job where the candidate used technical skills. The question might be: “Describe a project where you had to solve complex technical problems. How did you succeed?” Example: Task: Create an SQL query to retrieve data from two related tables and optimize it for performance. Responsiveness and collaboration: Observe how the candidate responds to the task, whether they ask for additional clarification, and whether they are willing to discuss their decisions. Soft Skills Assessment: If the candidate successfully solves the problem, ask how they would communicate with other team members to implement that solution in the project. This is just one approach to a technical interview. It’s important to consider the specific needs of your team and adapt tasks accordingly.
6.0. End of Technical Interview and Feedback
The final stage of the technical interview is important for interaction with the candidate and providing feedback. In this section, we will look at how to properly close the interview and interact with the candidate to make a positive impression.
6.1. Questions and feedback: Ask the candidate if they have any additional questions about the technical part or the general interview process. Provide an opportunity to express your questions and discuss any ambiguities.
6.2. Evaluation of the candidate’s interest: Ask the candidate how he evaluates his compatibility with the team and whether he is interested in the vacancy. This helps to find out how serious he is about working for your company.
6.3. Encourage further discussion: Invite the candidate to share their impressions of the interview and ask if there is anything they would like to improve. Indication of openness to feedback.
6.4. Providing useful recommendations: Offer the candidate some helpful tips for further improvement, such as technology recommendations or highlighting growth opportunities. Referrals: “You may be interested in exploring [specific technology] to further develop your skills. We also believe you can grow significantly in an area of [specify development area] that is important to our team.” This wrap-up of the interview helps provide constructive feedback, reveals the candidate’s level of interest, and creates a positive impression of the process.
7.0. Results and recommendations
After completing all stages of the interview, it is important to systematize the information received and prepare an effective report that will determine the candidate’s fate in the hiring process. In this section, we will look at how to create such a report and how to provide recommendations on the next course of action.
7.1. Evaluation of Hard and Soft skills: Systematize the received data and create a list of positive and negative aspects of the candidate’s hard and soft skills. Consider technical competence, communication skills, and fit with corporate culture.
7.2. Position recommendation: Based on the received data, determine whether the candidate meets the requirements of the vacancy. Recommend him for a specific position or indicate that he might be better suited to another role in the company.
7.3. Pros and cons of the interview process: Analyse the effectiveness of the interview process. Highlight positive points, such as a quality question or the candidate’s performance in stressful situations, and identify possible weaknesses for further improvement.
7.4. Evaluation of the overall impression: Articulate your overall impression of the candidate and their potential contribution to the company. Consider his motivation, professional approach, and readiness for development.
Example: Assessment of Hard and Soft Skills: “The candidate has demonstrated a high level of technical competence, demonstrating deep knowledge in the area of [insert specific area]. However, he has room for improvement in his communication skills when working in a team.”
Position recommendation: “We recommend the candidate for the position [specify the position] based on his deep knowledge in [specify the field]. He should improve his communication skills to work more effectively in a team.”
Pros and cons of the interview process: “The interview made it possible to assess the technical knowledge of the candidate. However, it may be worth improving the question about communication skills for a deeper analysis.” Assessment of overall impression: “The candidate is impressive with motivation and readiness for professional growth. His technical skills make him a potential contribution to our team.” With a structured report, you will have a clear picture of how the candidate meets your requirements and whether he is the right candidate for the job.
Effective technical interviewing is a multifaceted process that requires careful preparation and flexibility when interacting with the candidate. In the article, we considered the key stages of this process and provided recommendations on how to better use them to obtain the most objective and informative assessment of candidates.
Preparation for the interview: Even before starting the interview, it is important to study the candidate’s resume in detail and formulate unique technical and general questions that reflect the specifics of your company’s projects.
Getting to know the candidate: The getting-to-know stage not only helps to prepare the candidate for the technical part but also allows you to determine his communication and interpersonal qualities.
Technical interview: It is important not only to assess technical skills, but also to determine how the candidate interacts in stressful situations and solves real tasks.
Closing the interview: Active interaction after the technical part promotes mutual understanding and can help determine the candidate’s interest in the job.
Result: The evaluation of the candidate should be comprehensive and objective. Consider both technical and social skills to ensure a successful new employee fit.
The most important thing is to establish mutual understanding and a positive impression from the interview for both the candidate and the team. With these tips, every interview can be an effective opportunity for both parties to achieve their goals.