Technical Interviews Are Bullshit
I don’t want to be on an engineering team with people who were primarily chosen by their ability to write code on a whiteboard.
Last year was my senior year of university, which meant interviewing to try and get a full-time software engineering job. Some of these interviews resulted in offers and some didn’t, but as I went through the process, I became sure of one thing: Technical interviews are bullshit.
In their most common form — where a candidate is asked to write some sort of algorithm on a whiteboard — technical interviews are a deeply flawed and entirely unnecessary part of the hiring process. From a personal standpoint, nearly all of them left me feeling emotionally drained with a sense of negativity about the company and the job. I actually turned down job opportunities because of the way the interview with the company made me feel. And for an industry so obviously lacking diversity, there is surprisingly little examination of how technical interviews impact the overall makeup of a team.
Technical Interviews Exacerbate Impostor Syndrome
Whiteboard coding interviews create an inherently confrontational situation in which the candidate has to prove that they are intelligent and actually know how to code. To some, this might seem like a fun and exciting challenge. Many (though certainly not all) of my male peers in college enjoyed them. For lots of women, however, these interviews become one more instance of the exhausting daily struggle to prove that you are actually a competent software engineer.
Before each interview, I was overwhelmed by one thought: They’re going to figure out that I’m a fraud. I was afraid that, if I couldn’t understand the problem or arrive at a solution, the interviewer would realize that I don’t have what it takes to be a software engineer.
Logically, that doesn’t add up. I have a degree in computer science. Internship experience. A good GPA. I know about data structures and algorithms. I did tech-related extracurriculars. I work on coding projects in my free time. I’m not a fraud.
Yet in interview situations, my anxiety would get the better of me and I’d start to believe that I was wasting the interviewer’s time by simply being there, regardless of how well I performed. Being a woman writing out code in front of a male interviewer (because let’s face it, it’s almost always a man), or worse, a panel of male interviewers, creates an intimidating power imbalance that shouldn’t exist in a real work environment, much less the hiring process for it.
Technical Interviews Don’t Create Good Teams
Quite frankly, I don’t want to be on an engineering team with people who were primarily chosen by their ability to write code on a whiteboard. Whiteboard coding interviews test confidence, knowledge of specific data structures and algorithms, and the candidate’s coding style. While these attributes are important, they certainly aren’t the only skills, or even the most important skills, that a software engineer needs. When these three attributes are prioritized above all others, the result is a homogeneous, similarly skilled team of people who may or may not actually be competent at their jobs.
There are so many questions that technical interviews can’t answer: Are they able to work on a diverse team? Are they passionate about the job they’re interviewing for? Can they read and debug pre-existing code? How quickly are they able to learn new technologies? Are they a jerk?
Writing code on a whiteboard is so far removed from what software engineers actually do on a day-to-day basis that the results are almost meaningless.
Technical Interviews Don’t Eliminate Bias
Gayle Laakmann McDowell, Founder and CEO of CareerCup and author of Cracking the Coding Interview, has claimed before that technical interviews are more objective and therefore help level the playing field. However, I have my doubts that whiteboard coding removes any of the conscious and unconscious bias of interviewers. If anything, similar to the idea of “meritocracy”, technical interviews might simply be a way to hide some of the tech industry’s most insidious biases under the guise of objectivity.
For example, this is a common scenario for women candidates:
“So, what’s the time complexity of the algorithm you just wrote?”
“Uh, O(n log(n))?”
“No, actually, it’s O(n log(n)).”
Isn’t that what I just said?
At first I thought it was me. Maybe I didn’t sound confident enough in my answer, maybe I hesitated too long, or maybe I wasn’t loud enough. But even after I made conscious efforts to fake confidence, I was still often corrected when I gave the right answer. It seemed likely to me that the interviewer expected me to be wrong so thoroughly that he didn’t even listen to what I had to say.
I can’t prove which interviewers were sexist and which were simply bad interviewers who didn’t care. But it’s a huge mistake to assume that whiteboard coding exercises are objective at all without any proper research backing up that assumption. Are female candidates viewed and treated the same as male candidates in a technical interview setting? Are female candidates who seem competent on a resume (high GPA, internship experiences, impressive side projects, etc.) getting hired at the same rate as male candidates with similar skills?
Based on the diversity data of companies who are known for their tough coding interviews (Microsoft, Google, Facebook, etc.), there’s a good argument to be made that technical interviews are actually inhibiting diverse hiring.
There Are Better Ways To Interview
There are ways to gauge a candidate’s technical skills without the confrontational process of judging code on a whiteboard.
- Give the candidate an existing piece of code and ask them to review it. What do they think the code does? What do they like about it? What would they do differently? Are they able to optimize it? Code reviews are closely related to something a candidate might actually do on the job and reveal more about a candidate’s thought process than whether or not they can implement a trie off the top of their heads. And, they’re a lot less adversarial.
- Have a conversational technical interview. Ask candidates questions about data structures and algorithms, or detailed questions about what they put on their resume.
- Do shorter coding exercises rather than having an entire interview focused on one problem, which can only demonstrate so much of a candidate’s knowledge and insight.
- Design the interview to combat bias. For example, give the candidates a coding exercise and thirty minutes to write a solution, and make sure that the person judging doesn’t know which solution belongs to which candidate.
It’s always struck me as odd that an industry which regularly bemoans the lack of qualified software engineers (specifically, the lack of qualified software engineers who aren’t straight cisgender white or Asian men) would choose employ an interview process which is known for a high rate of false negatives. Instead of simply telling women to lean in, companies should take a critical look at what role technical interviews play in their hiring, and what can be changed to create a more balanced playing field.