I'm currently working at a startup where we have a few developer in their 40's or maybe 50's (not sure how old some of them are really), but what I see is that the market and investors are rewarding us for "moving fast with broken things". For example, we have no plan for handling unicode, and when things break people just try random mixes of encoding, decoding, dropping characters, etc, until the thing works this one time. Subtle issues like this go deep in our system, and yet it apparently looks good to our investors and customers. We get out the features they need quickly, but people will be cursing our names for decades because of the technical debt we create.
Maybe this is just because of my current situation, but it seems like the market rewards energetic programmers who can hack something together and constantly monitor and fix little bugs by hand any hour day or night. If this is what the market is rewarding then it seems legitimate to hire a bunch of cheap, young, energetic developers instead of more experienced developers.
Don't you think the amount of time spent fixing it properly is less than the sum of the time spent making a hacky solution and then playing whack-a-mole repeatedly with the bugs?
It's not about thinking, it's about feeling. If half-baked but apparently working features inspire confidence and are perceived as progress by clients and investors, then that perception will drive the rewards and thus the process. The phrase around 1999 was "who cares if it crashes randomly, the user will just reload the page." Shortly afterwards, amount of bugs fixed becomes an additional metric of success, so delivering less features that also come with less bugs means hitting your success metric twice.
Sad, but remember that many startups never deliver profits, AKA actual tangible value, before they exit.
The population mostly is what it is, so there ought to be companies and jobs designed for people who aren't elite. McDonald's doesn't focus on hiring the best possible worker, they focus on hiring conscientious workers who are at the appropriate point in their career/life that it's a good fit.
The problem is that many interviewers don't know how to suss out a good engineer. So they just ask questions that Google and Amazon ask. And that's why you spend half of your interview pre-optimizing contrived algorithms down to O(n) when the probability of the startup ever running code at scale is very small.
If you are interested in an alternative perspective, you should go read the "E-Myth" by Michael Gerber. It is ostensibly about entrepreneurship, but all his points apply equally to those in all types of leadership roles.
An organization shouldnt hire the "best" people because they are the most expensive and can easily lead to situations where your organisation is relying on an individual too much (e.g. they are the only person who understands a particular code base). The organization should focus instead on creating processes that take mediocre people and turn them into great at their job. That will be the most profitable solution long term.
1) Roman Hruska's comment about "there are a lot of mediocre judges and people ... They are entitled to a little representation, aren't they, and a little chance?"
2) Robert Jordan sued and lost because his approximately 125 IQ was considered too high by the police department he applied to, and this was ruled legal and "rational" discrimination.