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, interviewing is challenging.
Moreover, I keep hearing that we must 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:
- Technical interviews may lack relevance and test knowledge and skills outside the job scope. For example, they may ask outdated questions or questions unrelated to the job.
- Technical interviews might be limited by the lack of a real-world context. They fail to adequately assess the degree to which candidates can apply their skills in realistic situations and determine whether they fit the role.
- “We want to see how you operate under stress.” Technical interviews can be stressful and intimidating. The stress can result in a poor evaluation of the candidate’s abilities and potential, even if they are well-suited for the role.
- Technical interviews often require considerable practice from the interviewee, but they also need proper preparation from the interviewer. An inadequately prepared interview will lack structure, and the interviewer will be unable to assess the candidate’s skills and knowledge appropriately and effectively.
The pros and cons of the whiteboard interview
The whiteboard interview is the most hated interviewing practice among software engineers, which is even more exaggerated because many companies use it. Why? Well, the truth is that it has drawbacks but also huge benefits. Let me explain.
Drawbacks
- The whiteboard interviews offer limited real-world programming context. Writing a short algorithm tells us little about broader engineering skills such as teamwork, leadership, creativity, attention to detail, and soft skills.
- They often focus on the ability to recall specific information rather than working through complex problems or assessing their problem-solving skills.
- They create an 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.
- Whiteboard interviews are isolating and do not allow candidates to collaborate, which is essential in many software development roles.
Benefits
- The interviewer can evaluate the code quality and communication skills. They can talk with a candidate, asking them to explain the algorithm and letting them explain their thought process and how the solutions work.
- Whiteboard interviews are highly scalable and easily automated, hugely beneficial in high-volume hiring scenarios. Scalability and consistency are critical at enterprise-size hiring levels, where companies interview almost constantly.
- The whiteboard interviews ensure a fair assessment by offering a consistent and non-biased evaluation.
Crucial note on whiteboard interviews
Whiteboarding can be a helpful tool in the technical interview process. However, it should be only one of several steps, including 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. Candidates can present their skills and abilities in a more realistic day-to-day environment, and the interviewing process works exceptionally well for individual contributor roles. We can evaluate their attention to detail, problem-solving skills, and capacity to work independently.
However, the most significant issue with the take-home projects is the time investment required and the sentiment of working “for free” (unpaid work).
If used, it is crucial to ensure the project is appropriately scoped and clearly communicates its expectations and guidelines.
Can ChatGPT and AI compromise the interviewing process, and should we fear it?
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 can use external tools and resources as long 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.
In addition, 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. Moreover, 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 helpful skill that makes them better engineers.
What should the ideal technical interview look like?
We want employees who offer traits—it’s not only about the code.
Four key characteristics make up a top software engineer:
- Technical and coding skills,
- Understanding the engineering context,
- Soft skills (communication, collaboration, and empathy),
- Adaptability.
Here are some suggested interviewing techniques that will help you identify your unicorn engineer:
- Use a real-world problem by asking them to fix a bug or develop a new minor feature. This will offer a better insight into their technical abilities and problem-solving skills.
- Use pair programming to gain insight into your candidates’ coding style, collaboration ability, and communication skills.
- Schedule a technical discussion to unravel their experience and gain insight into their technical knowledge, expertise, and ability to communicate their thoughts and ideas
- Include behavioral interviews to gauge communication skills, leadership style, and teamwork ability.