Here’s why Google hires the way it does but you shouldn’t.
Every month or so on HackerNews, there’s a thread about how interviewing is broken which usually devolves into “Google (and the rest of the FAANGs) suck at interviewing”.
Last year, I spent a few months working on The Holloway Guide to Technical Hiring and Recruiting, over the course of which I got to spend a lot of time talking to people who have been really successful at designing hiring processes, conducting interviews and being interviewed. I learned far more about interviewing than I could have imagined, and it was a great chance to reflect on a lot of these interviewing debates.
One quote from my discussions with hiring managers stood out, and it was from a frustrated high-ranking VP at one of the FAANGs: “Our hiring process is what we can get away with”. He was making the point that many companies blindly copy their hiring process in general and their interviewing process specifically, assuming it’s the reason behind their success, but in reality, their hiring process isn’t actually that good and they’ve just been able to get away with it because they have a strong enough brand and can pay well enough (to quote him, “we still think we’re the only game in town”).
I think that’s partly true, and definitely would fit into the “big companies suck at interviewing narrative”, but I also think that if you just take it at face value, it’s a little simplistic. These big tech company’s have spent years looking at their hiring data and feeding that back into their hiring process (coining the term “people analytics” along the way). Yes, they could all probably be a little more successful if they just dialed down the arrogant “you’d-be-blessed-to-work-here” attitude that’s ingrained in their hiring processes, but in reality, their interviewing processes work quite well for them.
Why? Well if you ask someone why big tech co’s do the types of algo/coding (aka “leetcode”) interviews they do, one answer you might get is that you need to have solid algorithm skills to succeed there. In fact, Dan Luu cites that as “the most common answer” for why algorithmic interviews are necessary. I actually don’t think that’s the most common answer (at least, not from the people I asked, who were hiring managers and recruiters). The most common answer is actually: we want to hire smart problem-solvers with strong analytical skills, and since we stopped asking brain-teasers because they’re irrelevant, algorithmic questions are the next best thing. In other words, algorithmic questions are just a better way of assessing analytical skills.
That’s bullshit. Anyone who has been on either side of an algo interview knows that you can totally prepare for them. Dozens of best-selling books, venture-backed startups, and cottage industry coaching practices have made money helping people improve their performance on these interviews. So it doesn’t actually assess your raw analytical skills. If you look at criticisms of algo interviews, what you’ll hear is that they actually assess:
- willingness to spend time preparing for these types of interviews.
- pattern-matching skills (map a problem to something you’ve seen before).
But this still works for big tech co’s.
If you’re a large tech co with a big brand and a salary scale that ranks at the top of Levels.fyi, a good interview weeds out people who wouldn’t do well at your company. To do well at a large tech company, you need to (and I’m painting with a really broad brush, but this is true for 90% of roles at these companies):
- Some sort of problem-solving skill that’s a mix of raw intelligence and/or ability to solve problems by pattern-matching to things you’ve seen before.
- Ability/commitment to work on something that may not always be that intrinsically motivating, in the context of getting/maintaining a well-paying job at a large, known company.
Hopefully you can see where I’m going with this. Basically, the very criticisms thrown at these types of interviews are the reason they work well for these companies. They’re a good proxy for the work you’d be doing there and how willing you are to do it.
Not that there’s anything wrong with that type of work. I spent several years at big tech co’s, and the work was intellectually stimulating most of the time. But a lot of times it wasn’t. It was a lot of pattern-matching. Looking at how someone else had solved a problem in a different part of the code-base, and adapting that to my use-case.
You really only need one Dan Luu per like 10 or 100 engineers at a FAANG. Most people aren’t going to be optimizing at the level he is, they’re going to be doing work that’s mostly a mix of problem-solving by pattern matching, and ideally, they’re motivated enough to have that job for as long as possible.
Now, unless you are one of those large companies, the type of people you want to hire will be a little different. You might need people who are passionate about a particular domain, or are really strong creative problem-solvers—and sometimes the very things that make someone a strong creative problem-solver can make them a weak pattern-matcher. Entrepreneurs tend to be creative problem-solvers; VCs tend to be strong pattern-matchers. With few exceptions, strong entrepreneurs are shit VCs and vice versa.
To tie this back to the original quote, you also probably don’t have the brand or money that big tech co’s do. So you might incorporate algorithms into your interview process, but you might also consider hands-on in-person interviews or take-home interviews (though those also have pro’s and con’s). The point is, don’t dismiss what big tech co’s do, but don’t blindly copy them either.