A friend of mine recently had his last round interview at Uber and thought he nailed it, he texted me right after the interview about how excited he is about working at Uber this summer. He was so sure about getting this offer. A day later to his surprise he received a rejection, and couldn’t believe it. He was positive he was the right candidate, had more than the required skills, and already had big tech experience. How could he get rejected after all of this? He knew that Uber made the wrong hiring decision.
Why does big tech reject qualified candidates?
This case is nothing special, how come people who are clearly more than qualified keep getting rejected at Big Tech companies? The answer is quite simple, these companies quite purposefully reject many qualified candidates. Well, actually they purposefully have a process in place that values false negatives, meaning they wrongfully reject a qualified candidate, over false positives, which means hiring an unqualified candidate.
This is because a bad hire at big tech can be quite expensive. Not only does a bad hire not satisfy the role they are supposed to fill, but they can also negatively impact the productivity of the whole team and badly written code can have a huge negative impact on companies that operate on the scale that big tech companies do. The onboarding process at big tech can be much longer than in other companies, mainly because they have their own tooling and their own frameworks on which a new hire needs to be trained on. This means it can take quite a while until it is clear that a new hire is underperforming, rather than onboarding just being slow. Time in which such hire is paid a lot of money and time in which the team is not getting the additional manpower it needs.
This makes a bad hire especially expensive for big tech, so expensive that they rather miss out on a few good hires instead of accidentally making a bad one.
Where to go from here?
So what’s the actionable advice from here? It’s simple, don’t give up! Big Tech hiring is quite conservative, this transforms the interview process into a numbers game. Instead of putting all your eggs in one basket, you should keep applying and never assume you’re in until you have the offer in hand.
The approach I personally take for an interview is the following: I essentially see the interview as free practice. There are services out that for mock interviews by big tech engineers tend to be very expensive. In the case of a real interview, someone who is getting paid a lot of money and has real experience at the company you want to work for is taking the time of the day to talk with you, and all of this for absolutely free. You have the opportunity to talk with that person and learn about their experiences and their perspective of the company. On top of that, you have the opportunity to sharpen your interviewing skills, and if you bomb an interviewing question, learn how to solve it better for the next time.
Getting rejected does not mean that you are not qualified to work for that company, it just means you got filtered out for one reason or another (Try to find that reason!). Software engineering at FAANG is still… well, Software Engineering, fundamentally they don’t do anything different than other companies who use tech do. So don’t be discouraged, just keep applying and sharpen your interviewing skills!