Being an exceptional developer and being good at interviewing for that same developer job are two different skills.
A good interviewer will see through the candidate if the substance isnāt there. Likewise, they will be able to spot a diamond in the rough. Yet, this is a rare interview experienceāinterviewing is challenging.
I keep hearing that we need to fix the technical interviewing process. But why is tech interviewing broken?
I will unwrap this question and cover the following topics:
Why are technical interviews seen as broken these days?
Several factors lead to that sentiment:
- Lack of Relevance
- Technical interviews may test knowledge and skills outside of the job scope. For example, they may ask outdated questions or questions unrelated to the job.
- Lack of Real-World Context or use of Whiteboarding
- Technical interviews are limited by the lack of a real-world context, making it difficult to assess candidatesā ability to apply their skills and knowledge in practical situations and determine if they fit the role.
- Stressful Environment
- āWe want to see how you operate under stress.ā Technical interviews can be stressful and intimidating, impacting a candidateās performance. The stress can result in a poor evaluation of the candidateās abilities and potential, even if they are well-suited for the role.
- Bias
- Technical interviews can be consciously or unconsciously biased toward certain people. For example, some interviewers may have implicit biases based on gender, race, or educational background.
- Inadequate Preparation
- Technical interviews often require considerable practice from the interviewee, but they also need proper preparation from the interviewer. The meeting should be structured appropriately and effectively so the interviewer can assess the candidateās skills and knowledge accurately.
The pros and cons of the whiteboard interview
The whiteboard interview is the most hated interviewing practice among software engineers. Still, many companies utilize it.
The truth is that it has both benefits and drawbacks. Let me explain:
Downsides
- Limited Real-World Context
- Writing a short algorithm tells us nothing about broader engineering skillsāteamwork, leadership, creativity, attention to detail, and soft skills.
- Limited Problem-Solving Ability
- Often focusing on candidatesā abilities to recall information rather than working through complex problems or assessing their problem-solving skills.
- Artificial Working Environment
- At no point in any developerās day-to-day work do they need to recall an algorithm from memory and flawlessly execute it in 30 minutes, under stress, without googling, while others watch.
- Lack of Collaboration
- Whiteboard interviews are isolating and do not allow candidates to collaborate, which is essential in many software development roles.
Benefits
- Ability to Test Code Writing Skills
- The interviewer can evaluate the candidatesā ability to write code, explain algorithms, and think logically.
- Assessment of Communication Skills
- The interviewer can assess the candidateās communication skills, as they need to explain their thought process and how the solutions work.
- Scalability
- Whiteboard interviews can provide a quick and efficient way for the interviewer to assess a candidateās technical skills, which are instrumental in high-volume hiring scenarios.
- Consistency
- Whiteboard interviews can provide a consistent and standardized evaluation process for all candidates. They help cut bias, ensure a fair assessment, and normalize passing thresholds when multiple interviewers exist.
Takeaway
While the whiteboard interview has drawbacks, it can be a helpful tool in the technical interview process, especially regarding scale. Scalability and consistency are critical at enterprise-size hiring levels, where companies interview almost constantly.
However, I recommend combining this interview technique with other vetting methods, such as coding assignments, pair programming, and technical discussions.
The use of take-home projects in technical interviews
Many technology companies also use take-home projects as part of their interviewing process.
Take-home projects are an excellent way to interview software developers as they allow candidates to show their skills and abilities in a realistic environment, providing a more accurate assessment of their capabilities. It also allows the candidate to showcase their problem-solving skills, attention to detail, and ability to work independently.
This interviewing process can be very insightful for specific roles, like individual contributors. But is this the right tool for evaluating senior-level engineers?
Additionally, the most significant issues with the take-home projects are the time investment required and the sentiment of working āfor freeā (unpaid work).
Therefore, ensuring the project is appropriately scoped is crucial. Itās also vital to communicate the projectās expectations and guidelines to mitigate some of the abovementioned issues.
Can ChatGPT and AI compromise the interviewing process, and should we fear it?
This is not the usual ChatGPT rant, panicking that AI will take over software engineering jobs. Yes, ChatGPT can indeed pass the coding interview at Google; however, note that it will not get that job.
How should we stand with using ChatGPT during the technical interview?
It is standard practice for candidates to use Google Search and Stack Overflow during technical interviews. The issue is what they will search for, not whether they can use outside help. Reference materials, syntax questions, and language documentation are all allowed. Day-to-day working developers use all these resources constantly, so shouldnāt an interviewing candidate also be allowed to use them? Candidates are good to go if they are not searching for a complete solution to the question or copying and pasting ready code. Adding ChatGPT in the tool belt makes perfect sense.
On top of that, interviews are timed. Writing out the question in a way ChatGPT can understand takes time and skill. Sometimes, it can even take longer than conducting a web search. It takes several iterations and exchanges with the bot to achieve the desired answer. So, can we trust the response 100%? ChatGPT is still inconsistent. A candidate can trial and error and use AIās code, but it wastes valuable time.
The bottom line is that ChatGPT is not a threat but a valuable tool that makes engineers more productive. When used smartly, it can produce great results. Even in the technical interview, candidates can showcase another valuable skill that makes them better engineers.
What should the ideal technical interview look like?
The end goal of the technical interview is to get an answer to this one question: What is the probability that this candidate will succeed in this job?
We want an employee offering traits. Thus, we need to redefine the top talentāitās not only about the code.
Four key characteristics make up a superb software engineer:
- Technical and coding skills
- Understanding the engineering context
- Soft skillsācommunication, collaboration, and empathy
- Adaptability
Several interviewing techniques can be used to achieve your goal and find your unicorn engineer. Some examples are:
- Real-World Problem Coding Assignment
- Giving the candidate a real-world problem, such as finding and fixing bugs in a codebase or developing a simple new feature, can provide a more realistic assessment of their technical abilities and problem-solving skills.
- Pair Programming
- Pairing the candidate with an experienced software engineer for a programming session can provide insight into their coding style, collaboration ability, and communication skills.
- Technical Discussion
- Engaging the candidate in a technical discussion about their experience and projects can provide insight into their knowledge, expertise, and ability to articulate their thoughts and ideas.
- Behavioral Interviews
- Conducting behavioral interviews to understand the candidateās past experiences and how they handle various situations can provide valuable insight into their communication skills, leadership style, and ability to work in a team.
Get the technical interview right
To get the technical interview right, it is crucial to:
- Approach the interview with a holistic perspective.
- Consider both the candidateās technical and non-technical skills and qualities.
- Create a fair, inclusive, and relevant assessment process.
Itās essential to consider combining various screening techniques to view the candidateās skills and abilities comprehensively.