Yeah this is the M.I.T. and Harvard "process". Hire success, instead of fostering success. Works well for small companies. If you need to hire 10.000 to 30.000 people a year, this approach is absolutely useless.
Also just because someone can't come up with the coolest solution for your project, doesn't mean they aren't good developers. This is even more biased than algorithmic interviews, because algorithmic interviews have structure. I actually CAN solve a puzzle in 20 mins. You definitely can not solve a project in 20 minutes or even an hour. It is impossible. And the best candidates will be those who sit back, analyze the problem for days or even weeks and come up with a good solution for your project. This approach is so infeasible for general interviewing that I don't even know where to begin. You are basically filtering out EVERYONE and take the one person who knew enough upfront to accidentially solve your problem best...
Sorry but interviews at the big tech companies have become so easy these days, due to their insatiable demand for "talent", that I can't really hear these whinings about difficult interviews anymore. The candidates we usually get are just absolutely inadequate at coding and behavioral questions. This is not something you can overlook. They just lack the very basic skills to express themselves in code even when disregarding the correctness of their solutions.
"You can't invert a binary tree". Well doh! Maybe you should go through the effort of at least looking at some of the basic algorithmic concepts again, you know just to show that you even remotely care to be hired by the company. They have a much harder job than you do. They get hundred thousands of applicants per month and need to filter them out. You are one person applying at maybe 2-3 companies a month or week.
To me, this sounds like someone who thinks too highly of himself and "he doesn't need to prove himself to a FANNG company". Well think again, writing Homebrew doesn't mean anything. Pretty much anyone at a FANNG company could do that, but not everyone wants to do it. If you want to work at FANNG instead Homebrew, you need to prove yourself to them, not vice versa...
Is it really too much to ask to spend a few days solving some programming puzzles on a whiteboard?
If few days are not enough, then maybe you really aren't as smart as you think?
I think people these days really tend to always put the blame on others. What about starting to look at yourself more critically, think about if you are really a "senior" engineer? I work in tech for years now at FANNG companies and "senior engineers" are in a different league. I think I will get there in one or two years but it has been a long ride. These people are paradigms of programming that can always give you useful insights and advise. They excel at a wide range of soft skills and management too.
If you see what most companies (outside of FANNG) consider "senior" you will know why (1) senior engineer means absolutely nothing and (2) why FANNG is not interested whatsoever if you were a senior engineer somewhere else...
Also just because someone can't come up with the coolest solution for your project, doesn't mean they aren't good developers. This is even more biased than algorithmic interviews, because algorithmic interviews have structure. I actually CAN solve a puzzle in 20 mins. You definitely can not solve a project in 20 minutes or even an hour. It is impossible. And the best candidates will be those who sit back, analyze the problem for days or even weeks and come up with a good solution for your project. This approach is so infeasible for general interviewing that I don't even know where to begin. You are basically filtering out EVERYONE and take the one person who knew enough upfront to accidentially solve your problem best...