Technical interviews are probably the most nerve-racking kind of interview there is. (There are studies that back this up.) In them, software engineers are not only put through the performative meet-and-greet interview that spans industries, but they’re put through a battery of code and theory assessments that require intense brain power – brain power that is, in turn, actively being diminished by the awkwardness of working in front of an audience.
The whole thing is enough to knock even extremely skilled engineers off their game. In fact, it often has, but it doesn’t always stop them from getting the job (or at least the job after that). Here are five truths I’ve learned in my time conducting these kinds of interviews that will make the prospect of “failing“ one seem a lot less scary (and help you breathe easy the next time around).
1. Big Mistakes Are Way More Common Than You Think
You are not the only one who makes big, ugly, egregious mistakes during technical interviews. Seriously. I've seen too many candidates go down the wrong rabbit hole only to be needlessly hard on themselves for having done so and then lose their cool for the remainder of the session. All the while, they weren't even being judged, because several other people made the very same mistake that day. These can range from silly errors to completely ignoring some big factor of the problem. And that's ok. Many questions aren't necessarily evaluated on whether you make the mistake or not make the mistake. Sometimes the problem is set up to encourage a mistake to see how you resolve it afterward. Often, the point of a problem is to get a qualitative sense of how you approach solving certain kinds of problems rather than necessarily solving them on the spot. And in order to solve problems with any amount of complexity, you need to first go down rabbit holes and make mistakes! So take a deep breath and relax!
2. Master Engineers Also Bomb Interviews
Candidates are under the impression that only low-skill or junior engineers regularly struggle with the content of technical interviews. Not the case. In fact, some of the most veteran, brilliant, and uniquely skilled engineers bomb out of technical interviews frequently. Sometimes candidates with 20+ years of experience perform poorly at a higher rate because they are simply out of practice. Again, I've interviewed 1,400 engineers, and I've seen at least a hundred otherwise impressive candidates totally choke in the interview. So what gives?
3. Interviews Often Yield False Negatives
Well, it's probably exactly what you think. Technical interviews are highly imperfect. They're administered under very unnatural conditions often with ridiculous tools like a whiteboard. Questions are designed specifically for the interview, so they can feel contrived and bizarre. What motivates a good engineer to solve real problems can sometimes be lost on artificial problems. And on top of that, there's a lot of bonehead interviewers out there who make the experience negative for candidates. I've personally been in interviews where I've gotten the distinct sense the interviewer was trying to trip me up left and right purely for ego-driven reasons.
The conditions under which an interview is administered matter. And bad conditions frequently throw candidates off their game even when they're rockstars at work. Failing a technical interview categorically does not mean you're a bad engineer. There are too many variables to draw that conclusion. It probably just means you need to grow your interview skills.
4. Interviews Are Not Holistic Measures
On the other hand, let's say your interviewing skills are not the problem. You've mastered coding under pressure and can think with a clear head while being scrutinized. Failing a technical interview still doesn't necessarily mean you're a bad engineer.
You see, companies are not in the business of rubber stamping
bad engineers. They're in the business of saving and making money. When it comes to hiring, they want to avoid paying a full year's worth of salary (plus huge recruiter fees) only to discover that your particular skillset is not able to execute on a set of specific goals in a way the company thinks is most beneficial to these goals. Chew on that for a second. Then also consider that the nuances of these requirements (which are often not openly discussed) can vary as greatly as company culture or product domain. Interviews are not designed to evaluate your overall worth as an engineer — they are designed to make an educated guess as to whether you'll be able to jump through certain company- and role-specific hoops.
Not every company is going to be able to effectively measure or appreciate your specific set of value offerings. Interviews are designed to measure only the offerings a given company values. Sure, there may be overlap between companies based on certain so-called engineering universals, but the way they are measured and valued varies wildly. A bonafide genius in one area of software engineering may tank when it comes to some other specific skill some company thinks it needs. Even more, you might even totally nail a problem but violate the personal tastes of one of your interviewers and be docked points. None of this is or claims to be (if we're being honest with ourselves) a holistic measure of your overall value. And making the mistake of thinking of it as such will rob you of the will to shine for a company that really does appreciate your specific package.
5. Interview Results Change All the Time
But let's say you're just determined to nab a role at FAANG no matter what. Failing an interview now does not mean you can't pass it on some future attempt. It's possible to both learn the skills that the company is trying to measure as well as learn the skill of being able to demonstrate those former skills in the context of an interview. This happens all the time. Sometimes a candidate will be right under the wire and push themselves just over the wire the next time around. Sometimes a candidate will totally bomb an interview and come back several months later, far more prepared, and ace with flying colors. Interview results at one point in time do not need to be a barrier for future attempts. If you're resourceful enough, it's entirely possible to turn those outcomes around.
Technical interviews are stressful enough by virtue of how contrived they can sometimes be, but a fear of failure is enough to guarantee your mind is flooded with angst such that demonstrating strength is next to impossible. Too many engineers take failing an interview to heart. Back to the example of the now-successful developer I linked to at the top, she thought failing her first interview meant she “wasn’t cut out” to get a job. The truth is, failing a technical interview doesn’t mean what you think it does, and it certainly isn’t a measure of whether you can have a healthy career as an engineer. The above facts are just a few examples of why that’s the case. Don’t buy into a narrative that makes you out to be unworthy for struggling with something that takes some getting used to for the best of us. If startup founders gave up when they failed the first time around (or first hundred), we wouldn’t have Apple – or most of the tech world for that matter. Every failed interview is an opportunity to get better. Don’t give it more meaning than it actually has. Be the keeper and protector of your narrative.
Joseph Pacheco is a software engineer who has conducted over 1,400 technical interviews for everything from back-end to mobile to low-level systems and beyond. He’s seen every quirk, hiccup, and one-of-a-kind strength you can think of and wants to share what he’s learned to help engineers grow.