I've been seeing a lot of discussions of tech interviews in my Twitter feed and a lot of it is around the idea that someone needs to be "more technical" (that's not a thing, by the way — technical expertise isn't linear) or that they need to be able to balance a binary search tree or whatever from memory when the job never requires it.
The typical interview process at tech companies is almost worse than useless, so I wanted to share some of the comically awful reasons I've been rejected by companies.
One company rejected me because they didn't think I would be able to jive at their scale. There are two weird things about this. The first is that they asked zero questions about my experience with scale during the interview.
The second is that this team only handled referrals — so really only putting people through their customer-acquisition funnel. Unless this company was somehow managing to gain tens of thousands of new customers per second, it's unlikely that scale was actually a factor. That's the entire population of the US in a matter of hours, though, so probably not. Even if they were going with their company's total size, I've worked at companies several times their size with several times more traffic, data, and engineers.
Scale is an ego point for some developers. It's some "get on my level" shit.
But it's the kind of vanity metric that actively discourages optimizations and encourages poor scaling practices, so it requires a lot of discussion to understand someone's familiarity with it.
Another company rejected me because they didn't think I would enjoy working at a large company. I can't even begin to understand how they came to this as a hiring decision. Why would I apply if company size was a dealbreaker? Why are they trying to decide what I'd like? 😂
Another company rejected me because I struggled to find a given bug in the
sass Ruby gem during "the debugging portion" of their technical interview — this was an on-site interview that lasted all day.
Apart from the fact that this Ruby gem contains 13k lines of code (not counting whitespace and comments), it's a parser and working with parsers isn't like working with typical apps. And in Ruby, parsers make heavy use of metaprogramming, making it that much more difficult to find a bug when you're unfamiliar with the code because you can't
grep for what you need.
I asked the interviewer if the role required implementing parsers in Ruby, he said "probably not". So it was a pointless exercise, but they actually told me that my inability to locate and fix this bug in a 13k-LoC gem in 45 minutes was their reason for rejecting me.
During another interview, the interviewer asked very vague questions. Every time I asked for clarification on even the kind of response he was looking for, he just dumbed down the question. And he did it in a way that let me know I was losing points for getting "hints".
He did the same when I stopped asking him to clarify and started guessing at what he wanted. Then later, he asked questions I gave him answers for earlier when I was trying to guess at what he meant.
I remember standing in front of that whiteboard thinking "they're 100% gonna reject me because this guy can't ask the questions he wants the answers for". I mean, at least I saw the rejection coming.
Even so, this one was probably the hardest rejection because the engineering manager was excited about me and even introduced me to her team because she expected a positive outcome.
At another company, they asked me about my own strengths and weaknesses. This is a pretty pointless question in general but the rejection letter said "we're looking for engineers with a different set of strengths".
This particular interview was a shit show from start to finish, but this was my favorite bit.
None of these are small startups run by no-name techbros, either. These are well respected companies. If you're in the tech industry, you've probably heard of most of them, if not every single one of them, and you've almost definitely used some of their products and services.
And yet, no matter how good they are at providing snacks in their "kick-ass office in downtown San Francisco" or "unleashing the world's creative energy by designing a more enlightened way of working", somehow they're all shit at interviewing.
Sometimes interviewers will find arbitrary reasons to reject you that have nothing to do with you. Maybe the interviewer doesn't communicate well. Maybe they have a superiority complex and are rejecting you just to exercise that power. Maybe they just had a bad day.
For these interviews, there may actually be no way to pass it. You could probably do everything "right" and the interviewer would still find some excuse to shut you down. And a lot of the time, the team may actually be amazing but the interviewer is someone that works on a completely unrelated team who would never see you, anyway.
I've been working in this industry for 15 years. Interviewing is still every bit as terrible now as it was when I started. We're all being judged on the wrong criteria. Even when we get the job, it may not be for the right reason.