There is an abundance of people more than “good enough” for roles at FAANGs. They may simply not be stellar at the examination process used by FAANGs to assess candidates.
As much as many folks at those companies might want to partake in some fart-huffing and call that a predictor of engineering excellence, it’s not. It’s an optimization to shovel candidates at scale, and intentionally throws out ton of exceptional and even over-qualified individuals to instead hire a predictable style of engineer with as little investment as possible.
Saying that a certain $PREDICTOR is bad in itself doesn't say much, in particular it doesn't say whether there's a better one available under the same constraints. Widespread leetcode interviews is just an indication that large companies have not found a better predictor yet (again, under the same constraints with respect to time, budget, etc.).
Eh... maybe some do. My experience is that they hire people they already know. In fact that's how I got hired at a FAANG company. I had applied there many times and been rejected. Then I saw that a team where I was a great fit had hired someone I knew and had an opening. So rather than submit my resume through their job board, I sent it to him and he passed it on to the hiring manager. Most of the rest of the team got hired because they were all a team at another company that got cut. One of them got an interview and said, "Hey, I have about 20 coworkers who just lost their jobs and already know all the stuff you need for that new product you want to write. Why not hire them all?" And they did.
Sure, there are a few who went through the regular recruiting path. But many did not. I'd say on my team, most did not. (And they're all good engineers, too.)
And look, I get it, it's frustrating. I share in that frustration as someone that wants to switch companies but knows that I will have to put in the effort outside of work to prepare for that. But I still think the process is much more meritocratic and predictable than virtually every other industry.
Forgive my curiosity and desire to make things better.
> If it wasn't working well, it would be changed, just like the brain teaser questions of the early 2000s pioneered by Google.
This is a gigantic assumption, though. Tech has been exploding for a long time and basically all companies are ravenous for engineering talent. It’s not at all clear to me that this interviewing process is the cause of this growth or in spite of it. If I had to guess I would bet they’re wholly unrelated.
> And look, I get it, it's frustrating. I share in that frustration as someone that wants to switch companies but knows that I will have to put in the effort outside of work to prepare for that.
I have no problem passing these interviews, I just think they’re silly. Their prevalence in the industry frustrates me because I think they give an unrealistic portrayal of what’s important in software engineering. But then again my greatest area of expertise is legacy software maintenance, which is the work that nobody else wants to do.
> But I still think the process is much more meritocratic and predictable than virtually every other industry.
That’s an extremely low bar.
My favorite approach that I’ve seen is Latacora’s hiring process, in which they give you a work sample problem that can be graded quantitatively in stages as well as any prep materials that you need for it.
There's not much evidence that they are doing the best at hiring for those wth 7+ years experience by using said interview styles.
The point is to remove wiggle room. It's a domain-specific solution. Note e.g. DeepMind don't hire the same way.
Their number one problem is automating the beurocracy at scale with people who are fundamentally not that good at evaluating other candidates, or more likely don't care if they make a mistake. Everything else is downstream from that. Copying them without understanding their objectives is a mistake.
Because of covid-19 there are overwhelmed programmers, newbie and veteran on the job market to compete with fewer programming openings. Companies have reasons to be extremely picky, and job seekers either to comply with the game rule (Leetcode) or consider to change career.
And those who have job also need to consider to regularly practice Leetcode (one or two questions per day or every other day) to stay employable.