Conduct an Effective Interview

September 16, 2023

Interviewing a capable software engineer is of utmost importance for tech companies. Not only does every step in a series of interviews cost a significant amount of money and time, but it is also crucial for determining the compatibility of the candidate with the team and their potential future partners. However, an interview is not solely about coding challenges and how interviewees solve them. There are elements much more important than the game itself, and as an interviewer, you should carefully consider these aspects.

The Objective

To begin with, you should clarify the objective of the interview. At this point, please ensure that you have thoroughly discussed the details with your manager regarding the type of candidate they want and the purpose of hiring a new team member. There could be various reasons for this, such as new project openings, the departure of another team member, and so on. Regardless of the circumstances, being aware of this context and having thorough communication with your superior will help you define the objectives. Subsequently, you can begin to list the criteria and plan the interview.

The Criteria

When it comes to interviewing a software engineer, people often focus on two things: coding assessments and system design. However, this is a common mistake. As mentioned in the previous section, understanding the objective is the first step, from which we can define the criteria. For instance, if your team needs to hire a skilled engineer for a challenging project or to fill a senior position, then coding assessments and system design become crucial aspects of the interview. On the other hand, if the company isn't in an urgent situation, you can place more emphasis on other criteria that measure passion and work style, among other factors.

However, this doesn't imply that passion or work style are unimportant for a senior role. Instead, it suggests that when evaluating interns or new graduates, there may be more flexibility in assessing hard skills, while giving greater consideration to factors such as personality traits, sense of responsibility, and communication abilities, among others. In essence, it is crucial to ensure that a candidate is a good fit for your team's dynamics and fosters positive chemistry, regardless of their skill level.

In general, hard skills serve as the foundation for daily work. The challenging algorithms or complex designs encountered during interviews often do not align with the day-to-day tasks you'll encounter. Conversely, soft skills have a continual impact on your interactions with colleagues every day. For instance, effective communication can enhance cooperation with others, and a sense of responsibility within the team can accelerate proactive initiatives. Therefore, I would like to discuss three criteria for assessing candidates' soft skills.

His/Her Passion

At times during work, we may encounter coworkers who display a lack of enthusiasm or even apathy towards their tasks. Such attitudes can be detrimental, impacting not only the workplace atmosphere but also individual productivity, especially when collaboration is needed. What could be the root cause of this behavior? While many factors come into play, one potential solution lies at the hiring stage: selecting candidates with a genuine passion for their field. Although passion alone might not guarantee a consistently positive attitude, it undoubtedly plays a significant role in enhancing workplace dynamics.

Facing Difficulties

As a developer, candidates will inevitably encounter various issues and obstacles in their careers. When faced with difficulties, people tend to react differently from one another. However, it is essential to demonstrate the ability to convince others that you can learn and overcome these challenges. Common characteristics that indicate such abilities include composure, systematic thinking, effective communication skills, and more. Therefore, as an interviewer, it's valuable for you to focus on how the interviewee handles challenges and observe their reactions in difficult situations.

Work Style

Sometimes, the best candidate might not be the best-fit team member, and this situation occurs quite frequently. It's often due to a compatibility mismatch in working styles between the candidate and the team. Let's take myself as an example: I served in the military for over eight years, which influenced my behavior significantly when I initially joined the company. In the military, I became accustomed to following orders and executing tasks as directed by superiors. Conversely, in my current company, my superior prefers that I analyze situations and consider options before making decisions, and then explain my rationale. In my case, it's manageable because I can also adapt to my current superior's preferences; however, when you have a candidate with a completely incompatible work style, it can lead to problems within the team.

Messurement Approaches

Now, you have the three criteria for an interview. So, how can you effectively manage the interview and gather the information you need?

Surprisingly, let's do it with coding games!

Why? Didn't you just convince me that hard skills are just a threshold? Yes, it's indeed just a threshold. However, it can also serve as a useful checkpoint for assessing the three criteria mentioned earlier.

To achieve this, you need to set your mindset before the interview. You should design and prepare coding games, ranging from easy to challenging, that align with the candidates' skill levels. During the interview, don't solely focus on their solution or solving time; instead, pay attention to their communication with you, comments on the code, how they handle obstacles, whether you appreciate their work style, and more.

During a properly designed technical interview, as an interviewer, you will undoubtedly gather valuable information beyond the candidate's knowledge of algorithms and system design. Therefore, it's essential to keep that in mind and focus on the information that truly matters to your team.

Conclusion

In the ever-evolving world of technology, the art of interviewing goes beyond just measuring a candidate's technical prowess. The modern tech interview should be a holistic process that delves deep into the intangible qualities of a candidate – their passion, resilience in the face of difficulties, and compatibility with the team's work style. While coding games and technical challenges remain an integral part of the interview process, They can play as different role and serve as a lens through which we can view and evaluate the broader dimensions of a candidate's potential. As interviewers, it is our responsibility to align our techniques with the true needs of our teams, ensuring we bring onboard individuals who are not just technically competent but also enrich the team's dynamics.


Profile picture

Written by J.W. Liang, who lives in Munich and builds interesting things.
Follow him on LindedIn