> ... 90% of top companies have terrible technical tests which select mediocre candidates and pass up on excellent candidates.
This is one of the confusing parts of interviews. They are not necessarily designed to select the best candidate, but rather the least risky candidate.
It is quite possible to have a technically excellent candidate who would be a very risky hire and the interview process is set up to avoid hiring that candidate.
This sounds like kicking the can down the road because the quality of technical tests seems to keep getting worse each year. All these supposedly low-risk hires have caused the quality of engineering to decline over the years which caused a decline in the hiring process which creates a vicious cycle. The risk actually builds up in the long run. It's not surprising why security is becoming such a big issue for big companies nowadays.
If you always hire below your current level of talent (I.e. the apparent 'safe zone'), overall talent will keep declining.
Unfortunately, developers in many companies feel uncomfortable hiring people who might be more skilled than them because they don't want to risk being displaced from their current position or introduce more competition for future promotions. I've seen it happen from the other side where I gave my approval for a candidate who was very good but they were rejected in favor of a different candidate who was below average. It was obvious that the second one was not as good but I suspect that my colleagues may have felt threatened by the first one.
This is one of the confusing parts of interviews. They are not necessarily designed to select the best candidate, but rather the least risky candidate.
It is quite possible to have a technically excellent candidate who would be a very risky hire and the interview process is set up to avoid hiring that candidate.