Technical interviews, which tests the problem-solving and coding abilities of a candidate are a standard in the software industry. They are adopted by many well-known organisations, including Facebook, Google, and Microsoft. These interviews are designed to objectively evaluate candidates and decide if the candidate will fit within the company.
But according to a research “technical interviews may be flawed and have little to do with real day-to-day developer work. Study from North Carolina State University and Microsoft discovered that the technical interviews used at the moment are focused on testing if the candidate has performance anxiety rather than testing coding abilities.
“Technical interviews are dreaded and hated in the industry, and it turns out that these interview methods may also be damaging the industry’s ability to discover and hire proficient software engineers,” says Chris Parnin, an assistant professor of computer science at NC State and co-author of a paper on the work. The research also found out that a lot of well-qualified job applicants are rejected because they are not used to working on a whiteboard in front of an audience.”
The Focus Of The Current Technical Rounds
Typically, in the software engineering interviews, a candidate is given a problem or a technology puzzle to solve, requiring the person also to describe each step of the solution in code on a whiteboard.
Software engineers and programmers can fail at technical interviews if they are not able to react instantly and accurately without any help, which is usually available in everyday work-life. In a real-world scenario, developers may ask inputs from their co-workers and work in collaborative and relaxed settings when working on a complex issue.
Whereas in typical whiteboard technical interviews, that’s not the case. It hinders talented developers from exhibiting their specific skills as they feel pressurised. The lack of two-way communication during the interview can also offset the whole hiring process.
People who can’t solve incredibly high stakes algorithm problems on a whiteboard in 45 minutes with adequate speed and expertise are not qualified to be hired. Developers have reported that while their work may be usually well-received, they may not necessarily be able to translate it very well during the interview process. Under technical interviews, developers say that they may panic and focus too much into trying to come up with something innovative instead of just doing the work and following their usual programming approach.
“The interviews basically focus on technical coding or algorithms, either on the whiteboard or using a simple text editor on a computer in a limited set of time. In other words, technical interviews are a test of the candidates’ problem-solving or “analytical ability”. And if all goes fine, the candidate can expect to receive an offer,” according to Chris.
Is Measuring Performance Anxiety The Best Way To Evaluate?
Measuring performance anxiety and time to finish a coding challenge is the objective of these technical interviews, particularly in large tech firms like the FAANG. The whiteboard performance becomes the primary data point collected into the hiring manager’s decision on hiring a candidate.
According to experts, it may not be fair to expect job candidates to solve complicated algorithmic problems on a whiteboard in about 45 minutes. Instead, the interview experience should be a positive learning experience on a reasonably complex problem, that is not too easy but also not too complicated so that hiring managers can focus on the candidate’s coding ability. While small mistakes happen, significant errors would signal a lack of proper understanding of software concepts.
“People who took the traditional interview did half as well as people that were able to interview in private,” Parnin says. “In brief, the findings infer that companies are missing out on very good programmers because those programmers aren’t great at writing on a whiteboard and demonstrating their work out loud while programming.”
It is possible that fresh graduates in computer science could be very nervous during interviews, and therefore evaluating their performance and speed instead of their fundamental skills are critical. The evaluation should take an interviewing approach in the context of day to day work at the company and see how the candidate will react once put in the work setting.
Testing Fundamental Understanding Of Software
Many large tech companies use performance anxiety to filter good candidates which experts say is not highly logical. Instead, if companies are going to use any filter, it should be the technical one.
Selecting candidates who do not have performance anxiety can actually backfire. There are many situations where anxious developers may be more diligent about designing and testing their code, being more proactive about security and accuracy. Particularly in domains that involve critical systems such as in healthcare, banking and finance, aviation, etc., performance anxiety can be useful.
The current process may work for high-pressure situations but most software engineering day jobs are not so, making the traditional hiring approach obsolete. Apart from that, a vast majority of software jobs involve critical thinking skills, plumbing libraries/frameworks/data layers together rather than implementing algorithms from scratch.
Software engineering jobs need understanding the small complexities and a deep understanding of software concepts. Yet, researchers found that testing the fundamental knowledge and understanding of software is not the way interviews are conducted, which needs to be reconsidered in the coming future.