- Steve's company got acquihired by Amazon, granting him a free ticket in without all the torment of the multi-stage interview pipeline.
- It's a well known fact that it's easier to jump from one FAANG to another, so while interviewing at Google he had significant advantage, plus the blog gaining popularity.
- All of this has caused a deep down imposter syndrome, which resulted in an attempt to "improve" an interview process from the inside - but the wings were clipped pretty quickly by the corporate politics. It turns out that lawyers are not planning to reinvent anything there and hence are somewhat more important than engineers.
- The post itself is an self-applause over essentially a failed effort. "I've tried"
You have two parties engaging with each other in a subpar way, and your solution is to make things better for one party (hiring side) and significantly worse for the other (candidates). Trying to convince candidates that this is good for them, won't make it so. Eg:
> Every stamp that you hand out, pass or fail, leaves a candidate richer than they showed up. This attracts strong candidates to you, because even your rejections are worth something to them.
Candidates don't want stamps. They want stable work.
Ah of course, we have to do a traditional interview loop to evaluate 10 candidates before we can pick one. So you do the traditional interview loop, and then you have 6 months of provisional employment.
You haven't replaced anything, you've just added another level of hassle for everyone.
What I feel like I'm reading here is someone who has been poisoned by FAANG hiring practices --- and they are terrible --- and has missed most of the work that's been done (outside of Google's admirable work in debunking their own processes).
I appreciate the "kitchen confidential" here, but with respect to Yegge, I think he's been working at the Olive Garden this whole time. Go stage at Gramercy Tavern! They're working at a different scale, yes, but you'll at least get a different perspective on the "gold standard".
The conclusion at the end that bringing someone on board is the ideal method is true I'm sure, but even that runs into the issue that employee evaluation is an even worse situation than the interview process.
You can openly see some managers panic when they realize they have no idea what their employees have been doing for the last 6-12 months when they're asked to provide feedback.
A man walks into a pet store. There's a parrot for $100, it says this parrot speaks perfect English . The one next to it is $1,000, and says, This parrot speaks 12 languages fluently.
Then there's a bedraggled looking, droopy, parrot, and its label simply says One Million Dollars.
Does it sing opera and has successfully run for President? the man asks with a sneer.
This parrot, says the store owner, _thinks_.
That's what this entire post is about - how to evaluate people with a series of attributes, score, correlate, blah blah blah.
Hire them, see if they think. If they don't, fire them. It's cheaper than this credential/signal rigmarole, most of which is about CYA legal b+llsh1t. Yes, it's a simplistic strategy and it doesn't work for Shoogle, Banthropic, Goober, whatever. You know what, boo f*cking hoo. You're a trillion dollar company, suck it up. You have a zombie horde at your doors and you're just upset the "true gems" are hard for you to spot amongst the slavering masses. You're going to heartlessly lay them off anyway in a few years. You SHOULD feel this pain and anguish of having to sort through them, constantly regretting all your choices. That's the only way to have balance in the Universe.
The post touches on it (regulation about firing causing legal issues) but the unfortunate truth is that turning away false negatives has little cost to a business as long as you make sure to turn away false positives. Bad hires are extremely expensive, where as the lost revenue of turning down a good hire isn't nearly as bad (it's easy to try to hire them again later).
The stamp idea is good, reputation based hiring is important, as shown by the use of referrals in hiring. I've always wondered why we don't keep track of referrals inside companies in order to figure out who is recommending their peers who legitametly are good fits, vs those who are just trying to help out friends (who might not be the best hires).
Further I think there is also the problem that anti-corruption/anti-nepotism often harms hiring. It's much easier when working in a start up to hire the most talented people you know without other people sitting in, compared to at a big company where I know people who actively know good people they want to hire, but who can't be arsed with the long interview process and high chance of rejection.
If it wasn't for the regulation around firing some sort of staking your job on the line would be effective. You can refer someone and have them skip most of the process but your job is on the line if that was a bad call.
It doesn’t work for software engineers because nobody wants to do free work. Also, free work isn’t consistently, and fairly testable because project requirements can evolve or completely change over a hiring period. Not to mention IP issues.
What has worked in my experience is a synthetic take home exercise that isn’t easily LLM solvable, the same one given to all candidates with the same constraints, and offering to be available to answer their questions by email. Sometimes we can tell a lot about the candidate just from the questions they ask, or how they package the solution, without even looking at the code.
In my experience (FANG hiring) less than 10% of candidates refuse to do this exercise, so it’s worked well for us.
I also think this is pretty bad for candidates. The last thing I want to do is a bunch of unstable gig work for fickle startups in one of the most expensive places to live in the world. Also, I really think this only works if you decouple things like health insurance from employment, otherwise the instability can be too much for a lot of people.
That's real useful work, if we don't hire them they can show it off to a different hiring company, and it makes the world a better place.
Most places still interview. Because hiring someone for 3-6 months is still an expense. For large companies, onboarding can take many weeks before you're even thinking about being productive. Interviews don't need to be 100% accurate. They need to be time-efficient and an ok filter to prevent hiring the worst people.
I don't see how a bad job market is going to make skilled people be willing to intern in order to get employment. Employment is a market, if demand goes down, then the reaction will be that price goes down.
The reason students are willing to intern is because the supply is so high and demand so low that you can effectively hire them for nothing (or next to nothing). The interns know that on completion the internship will upgrade them to a new category with new supply/demand. It's the same reason they are willing to pay large amounts for a university degree.
So interviewing will stay the same. If demand collapses, we will see wages drop, and I imagine the supply of software people will react through early retirement, career switching and reduction of people choosing it as a career before we see an upheaval of hiring methods.
Of course, the real issue is that a prospective employer doesn’t know what they want. Our “engineering” industry runs on vibes, heroic effort, fashion and hype-cycles. Someone very smart, enthusiastic, quick learning, flexible and affable is the only real job description.
Combine this with the “supply” side entirely overwhelming demand, having to compete with AI, and experience having no value, and for most software developers the future is bleak until a new more equitable equilibrium is found.
Nevertheless in the meantime, at least one can have solace in collecting the authors “failure stamps”.
If I am doing a 6 month contract which is what he is proposing then yeah I want a great day rate and to earn 12 months salary in those 6.
It basically means I invest in a company that doesn't believe in me and probably wont try to help me succeed.
Also mortgages, car loans, life and health insurance etc. are harder to get on a short contract.
Hiring is broken (maybe) but 6 month paid interviews are not the solution.
I think the real solution is something like the Bar Exam. Apply the hard filter once, publicly, administered by a trusted neutral party. Anyone that gets through is assumed to be good enough, and interviews can assess only firm/team specifics
i've seen a few interview types in my time:
1. technical interviews run by nontechnical or junior engineers who can't judge technical talent. this typically produces sub-par hires. imagine you are made the director of UX design and you have to hire someone but know little about the industry. what type of hires are you going to get?
2. technical interviews that focus on CS skills. can you write a red-black tree in Java? can you write a bubble sort in haskell? The problems here is that this has bias towards new CS grads that dont have much industry experience but just took tests on stuff like this in their degree. google pioneered this style of interview and it's taken off as leetcode. the problem is that experienced devs dont typically write bubblesort algorithms. this type of interview is biased toward younger out of college hires and codecamp hires that have little experience but gring on leetcode sites.
3. technical interviews that have too many opinions for a hire recommendation. this seems to be a new trend where you need 3 or 5 or 7 thumbs up to get hired and any negatives sink the candidate. this does raise the bar, but typically what i see is someone on this panel has a high opinion of his/her abilities and gives everyone they seem a thumbs down.
What i've found is that soft skills and team dynamics are > the technical accumen. I can teach you how to write go(lang) but its much harder to teach you how to influence your peers or to communicate effectively.
Experienced devs probably dont know how to ace your leetcode interview, but they do know how to influence and communicate and when to stay away from bad ideas. You dont get tested on these things. It's analogous to a being combat veteran. You've been there, you've done that you know how to survive. You might not know the new tech, but that can be taught. I have never seen an dev not be able to pickup a new platform/language/skill within 6 months of hire - anywhere.
Here's hoping this will get better one day but i'm not holding by breath.
1. For juniors, any sort of proof you have passion is enough. 2. Treat mid-levels as seniors. 3. Seniors have to show proof of passion (with longevity and intensity, AI and consultants exist for expertise and menial work) and competence (Take home problems with a long time scale with whatever tools they need. Use AI. I don't care, but be expected to be scrutinized for your design decisions, depth of exploration, and architectural write-ups.)
There is a way to make the campfire approach a little bit less utopian: California could pass a law that makes it legal to have a second temporary job. So that FAANG engineers for instance, would be allowed to campfire/interview at another company with legal protections. Put a bit of grease in the interview system is good for candidates.
In the last few years I was the main tech interviewer for a 300-employee fintech.
For a specific position, one recruiter got around 150 applicants, selected 5 great ones, who did take-home tests and mild-tech interviews. Offers were made to most.
For the same role/salary, but from another queue, a second recruiter got around 900 applicants, cherry-picked about around 70 of them. Out of those, only 40 completed the 1h take-home test. Only 20 delivered it, only 10 implemented the requirements. Of the 10, all were unable to answer even basic questions.
This was concurrently, so it wasn't "affected by AI".
I didn't changed my methods and in fact I didn't even got close to asking hardball questions to the second group.
The second recruiter didn't get their contract renewed and left.
And that's why the trades require you to perform years of work as an apprentice before you're ever qualified to pass an exam to become a journeyman. Not only is it like a years long internship, but you're paired with someone who has already passed a high bar. You're learning directly from vetted people, and those people can vouch for you.
> University of Waterloo famously sends their Computer Science students through a total of six internships, giving them roughly 2 years of real-world work experience before they graduate.
Still less time than an apprentice is required to work, but it's better than nothing. Most trades require you to be an apprentice for 4 to 5 years.
> The reason is, hiring engineers has historically been so competitive that you couldn’t convince a senior engineer to do an internship [...] So the industry converged on not requiring it.
Which is one reason the trades made it the law that you have to follow the apprenticeship in order to become a journeyman. "The contracting companies don't feel like hiring licensed workers" isn't an option. Companies don't do the right thing unless they're forced to.
This is why we need professional engineer certification for software engineers. We need a rigorous, time-tested, reliable process to ensure engineers have actually done the job in the right way. Otherwise it's a bad guessing game like Steve is explaining.
This is also why we need a software building code. We need to explicitly define exactly how you're supposed to engineer, so that we can create a certification that people can pass. Otherwise designing and building software is completely subjective. Engineering should not be subjective.
This is not some mysterious experimental idea that nobody knows if it'll work. Trades have been doing this for decades. It's not perfect, but it's much better than the alternative.
From the candidate's POV what is mostly broken about the application process is all of the ATS gaming, resume tweaking, etc, just to avoid getting filtered out before an interview, as well as the inane leetcode screening that some companies are doing.
A better process might be to replace all initial profile/resume-based screening with task-based evaluation (evaluation could be at least semi-automated - if a computer/AI is going to reject me, I'd prefer it to be based on task evaluation job skills rather than ATS-filter avoidance skills!).
Lengthier on-site interviews/evaluations could also be task-based - for a developer role perhaps a 2-4hr peer-programming or problem solving task. Far less signal that a 3 month provisional hire of course, but maybe a better use of everyone's time than a traditional talk and brief whiteboard challenge process which is clearly failing as a useful filter.
I wouldn't expect companies to forgo the traditional touchy-feely team/culture fit type of screening as well, but better if this came after they'd already determined, as best they can, whether you've got the chops to actually do the job well.
If you want good employees, poach those that others are paying millions already.
[0] https://www.nytimes.com/2016/02/28/magazine/what-google-lear...
The problem with provisional employment is that it can take quite awhile for a new hire to be productive. In a complex FAANG environment I'd wager it's about six months before they're not a net drag on the team and maybe 1-2 years until they're close to fully productive. These are complex not just technologically but organizationally and there are tons of hidden rules and micro-decisions that are the difference between a project stalling vs moving forward.
Today I'm 45 with family and have a fancy VP title, but I would have no problem to do this for an interesting role at a cool company.
Just one more thing: the industry should really put a bit more weight on measuring people's potential and the concept of long-term growing and learning on the job. Just saying. You know, like every other industry on this planet.
It's true, but prepping for a typical senior+ onsite loop in big tech still requires weeks of grinding leetcode, re-learning the latest system interview questions and the system interview answer framework, refreshing and rehearsing STAR stories, studying the company and its unique quirks that you're expected to know to pass the culture filter, remembering how to do all of this speedrun-style since you only get 40ish minutes per session, etc.
While that knowledge is more reusable across onsites, it's likely even more work than doing real or pretend-work for the company for a couple of days.
> When candidates get to walk away with something of lasting value that they can keep forever
I'm curious why them getting rejected from the position, even with the work sample they can carry away with them, wouldn't be still interpreted as a negative from future employers. "The other co passed on them, am I the fool for thinking they're good?" type of herd mentality which is often unavoidable.
Won't that "work sample guest book" be treated as the list of all companies that rejected you, a net negative for your personal brand you're projecting?
> (Me paraphrasing what Steve was implying) Take-homes are impacted by AI one-shotting them for candidates
I've been pleasantly surprised by how much you can glean from having the candidate upload their conversation log with the coding agent for whatever take-home you give them.
Now you're amazon/google. You have 200 open positions in a certain site/country. You receive 10000 CVs. Same problem, different scale.
So ok, you need to filter CVs, mmm, which sucks, right, so perhaps we do a screen interview? mmm, low signal, maybe....
And before you say that this is inefficient consider that despite being terrible for morale and efficiency (proven in un’etica studies) companies still maintain the bottom 10% out or up or out policies.
Companies always love their power on their employee over efficiency.
Or maybe the company changed in the 10 years or so since everyone in that room was hired and the employee needed 10 years ago is not the same as the ones needed now?
Warning, sad boi rant ahead.
I was from a programming bootcamp. I entered the tech because I was the only person in my bigger family members who have the skills/education/chance to earn a big salary. I still remember, I paid $12k back then, and it was me and my mom's only savings. I started tech in my 30s, and mostly worked physical labor work before that.
I was the weakest at that cohort, but I studied really, really hard, until the bootcamp noticed my progress and hired me, albeit at a very low salary. That was my first programming job.
I eventually learned about big tech, and liked the fact that they didn't care about credentials, whether I came from a good university or not, unlike the YC combinator startups who mostly cared about credentials. I learned that they pay really well, and I did, read Steve's blog, "Get that job at Google". It motivated me to study DS&A, and also to get CompSci degree.
Overtime, I lost count, how many interviews I have failed at big tech. I gained more experience, I became older, but I kept studying, and studying, and studying, but I keep failing. I also wasn't sure which area to study, so I ended up studying for everything, from frontend to backend. It was a lot, really, a lot of things to study, from leetcode to JS specific to DOM to backend system design to frontend system design, to behavioral, and frontend interviews back then was still a crapshoot, some companies ask for deep JS/DOM questions, some companies just ask for leetcode questions.
But I kept failing.
I think I'm pretty good, or at least, that's what I thought. I learned quickly, I have no problems for clearing mid level leetcode questions in under 20 mins. Overtime, the bar gets really hard and it became hard level leetcode questions in under 20 mins.
But what made me really bitter over all of these interviews, was that I saw my friends, people I knew, from programming bootcamp, from my CompSci degree, got a job at big tech. I knew, or at least, what's what I thought, that they had less skills than me in programming and in DS&A. But they got into big tech. Some of them were minorities, and during that time, diversity hiring was a thing, and maybe that's why they got in, I thought to myself.
Sometimes I asked them what the interview questions were, and to my surprise, it was easier than my questions. Idk why.
Sometimes I wonder if my luck in interviewing is really bad. I tried everything I could. I bought courses and devour those materials. It's been years and years and years and years. It did wear down on me. I want to cry, which I did sometimes due to keep failing big tech interviews. But it won't do me anything, I can only keep my head down and keep trying.
I ended up making pretty good money in this field, and able to help my family members. I did work with some of those big tech engineers. I realized that those big tech engineers were just average, and I don't think I am less capable than them. That made it sucked even more, because I don't understand why I kept failing, and why the people I know are succeeding.
I do some freelance now, but will finish some of my contract. The job market is scary, and one of my contract will finish soon. I am having hard time getting even recruiters to contact me, maybe because I don't have big tech credentials.
I also did mostly fullstack/frontend leaning lately so I ended up studying frontend interviews. But frontend job market is kinda dying lately, since most companies don't really respect frontend and don't think its worth it anymore. These days, I don't even know what to study anymore, so I need to study everything again, with the addition of all the AI stuffs.
I can't help but to think, and always think even today, especially during this tough economic times, what if I was able to get the big tech job. My family would be proud of me. I would have better companies in my resume, and could stand out more in the job market. I could've done some cool highly scalable projects that I can boast of in my resume. I could've joined some good team, mentored by good engineers. I would have more savings than now.
These days it doesn't matter anymore. The big tech salary era already closed. Things are way way more competitive than before. With my average background, I don't stand even a chance at being asked to interview.
Life is really a mystery. Things that you really need or want, you don't get it no matter how hard you try. But it is wasted away on those who got it.
I usually don't post comments, but seeing this post, I just needed to vent.
Thanks for reading.
A scoping/guidance suggestion to start: Is the problem of improving hiring more tractable if you don't try to solve it for Google?
What if Google is hopelessly tainted with biases, from having run almost every single person there through a process that you acknowledge is a horrific load of poo. Which not only means the process has become a religion/frathouse that people are proud to have been accepted into, and will defend fiercely, but also greatly determines the strengths and weaknesses you have to work with, if you want to get them to do anything else.
What if you instead start with smaller companies that don't have the baggage of FAANG, and look at their requirements, which may include some mix of (off the top of my head): prior experience, learns whatever is needed, creative/innovative, works as a team member, aligned with company success, professionalism, good for morale, good for catalyst, will have some loyalty during the harder stretches or when tempted by a little more money.
It would be nice if, instead of many 2-person startups making their first hire with the assumption that they should mimic the known-bad processes of megacorps (often based on their own FAANG-oriented interview prep in college), the megacorps were desperately trying to figure out how to hire as smartly and genuinely as SMBs, but at FAANG scale and with all the FAANG legacy workforce biases clawing them down.
The place was not big - never got much beyond 100 engineers, but produced dozens of founders, VPs, GMs etc at well known companies, as well as engineers with very notable OS projects and lots of high-placed engineering in FAANG companies.
My record is comparatively humble: I hired around 300 people in tech for small-to-medium size companies, in the small tech backwater of Vancouver, Canada.
My conclusions:
(1) Interviewing is an intractable problem. Start by recognizing that.
- You don't interview the best candidates, but the ones with the best resume.
- You don't hire the best candidates, but the ones that do best at interviews.
- Screening by HR (phone or zoom) is at best useless.
- Timed coding assignments are a waste of time. They are used because they're cheap + provide a [generally wrong] "quantitative signal". Noone's job will consist of solving 8 "leetcode" riddles/day.
(2) "Technology fit" is a dangerous illusion:
- It is very, very, very unlikely that any candidate will be able to pick up right away your tech environment. (ok; exception: you're hiring permanent an existing community contributor for your open source project)
- Your best new hires will be 0% productive in their first month (negative; training will use resources); 15% in their second; 50% in their third.
- Rejecting e.g. "Java" when screening for "C-sharp" is stupid.
(3) The interview process is about building relationships.
- People you don't hire will remember your company from the interview + disseminate.
- Someone you didn't hire today (one of your top rejections) may be super-attractive 2 months later, or next week if your top candidate accepted another position.
- Ownership of the process or at least buy-in from the team (vs. just the hiring manager + opaque "corporate committees") is the first step in a working relationship. Your "superstar" may end up being toxic in the team and you could find that out in the interview.
(4) Five simple rules:
- Treat phone/zoom screening like an advertisement for your company. Ideally do it yourself (hiring manager). Largely ignore feedback from HR :)
- Hire candidates who are: smart + hungry. Programming languages; frameworks; environments are secondary.
- Try to get a sense of the fit with the other humans in the team they'll be working with.
- Take "3-month probation" seriously. Explain it to the candidate + team. Sell it internally. Candidate compensation for a botched probation is reasonable + just money, after all.
- Treat candidates as humans: Send a personalized rejection (from you, the hiring manager _not HR_) to everyone who made it to the interview. Call or zoom everyone who made it to the final round. If you can, provide them actionable feedback on ways to improve their interview process. Leave a "human" door open.
FIRST - is that before you get to campfire anyone, you have to have done some sort of interview process to boil it down to the one person to do the campfire - so how does that work eh?
SECOND - campfire is deeply invasive to the candidate's life and time.
THIRD - you have to pretty damn sure someone is a hire before doing a campfire. You CANNOT do campfire as an evaluation step, after which there are more interviews.
FOURTH - this is effectively just a really really long version of the take home work test which is absolute bullshit.
FIFTH - there's STILL no science to the campfire. Don't give anyone a fucking test if you don't actually know how to scientifically evaluate the results. And campfire does NOT result in a scientific outcome, it still results in an arbitrary opinion.
SIXTH - any company that wants me to do a campfire - to commit days or even weeks of work as part of them trying to decide to offer me a job - can fuck off. Sorry, the party got spoiled by all the other companies who asked me to do something as part of the interview process and then either ghosted me or gave me some bullshit outcome like "they didn't like your work".
I can tell you how to recruit people and it does not require campfire.
You TALK to people about software development - you engage them in extended conversation about what they have done, what they know, what their interests are, what they have built, what projects they worked on, what went right, what went wrong. You look for people who have BUILT STUFF - this was true before AI and is 100X more true now - anyone who has not built anything today is not worth employing and anyone who has built something must be able to talk about it in depth. This interview processes worked before AI and it works after AI. And finally, you accept the limitations of recruiting which is that people are people and you won't find out how well someone performs until they have been on the job six months - live with it.
Sorry Steve - I love your work but I'd never work for any company that wanted me to do a stupid campfire because they don't know how to actually work out if I can do the job or not.
Sorry what.
what?
You need an NDA from a candidate (many would not like to risk - what if someone gets job on the competing company and is sued for revealing some secrets from the campfire interview process).
In many cases interviewee would need to get a laptop from the company, as there are specific requirements about data security (disc encryption, usage of solutions like Fortinet or Zscaler), be added to company SAP to get access to the resources (Office, Teams, etc.), company need to purchase licenses for Office, Github, Jira, etc.
Surely hiring is hard, surely there are false positives and false negatives, but fixing this requires hell a lot of resources and organizational changes and costs.
If you want to know if someone is good at your company in 3-4 interviews, it’s tough, the best they can do is ask these technical questions. Talk to you about your past work, ask you technical what ifs. Most dumb ass companies will ask you to do trick coding leet code crap.
Why would this be useful signal?
I'll assert that you're in a professional environment of: dishonest posturing and oversized egos in startups, bureaucracy and butt-covering in established companies, and a culture of thin niceness veneer.
I'd think all of that would be barriers to a useful Permanent Record.
> This system is basically worth exactly what your honesty is worth. If you hand out gold stars to everyone, you’re just reinventing LinkedIn endorsements, which are worthless. Companies whose stamps mean anything will be the ones known for only handing them out for quality work. Being a hard, fair judge is an advantage for everyone.
What is the precedent of that working, in the environment I just characterized?
Given our current environment -- which isn't going to change easily; it works for the people who have most of the money now -- seems like a not very reliable new category of surveillance capitalism. But it gets worse... A lot of techbro founders will immediately see this as the next sketchy, hated tech company, which won't only charge companies a fee to participate, but the real business will be twisting it into off-label uses. For example, with whom and when a person has interviewed, and who which companies are interviewing, is valuable data to sell, no matter how useless the feedback. They could also see how close you could get it to a protection racket, by selling Pro individual memberships on the side.
So we get bad signal for the ostensible service, in exchange for additional techbro dystopia.
He is indirectly responsible or at least part of everything that was terrible in most of the big techs he was part off. By his own admission, each time things were evaluated, the scientific conclusion was that it was "horse shit" and totally randomly hiring results in the end despite having candidates go through an awful process. And now he is full of ideas about what kind of new nightmare we can create to reach the same stupid result...
What I see in his post, and that I find despicable is that it looks like that he has this "superiority" syndrom making him consider candidates and employees as disposable resources.
Instead of considering the process as a "mutual" process, where it costs and the investment on joining the company is also from the candidate side, he is considering that just the employee is a liability for the corp and that the candidate should submit fully to it. Even wasting weeks, month or years without guarantee of stability or not wasting his time.
The treatment: there's a long failed history of using contractors and hiring the best, which is a recipe for abuse and PTSD.
The wisdom now is that one should prioritize avoiding false positives, but the observed facts are that many people who later do great interviewed poorly.
For false positives, there's the legal risk (hard to fire), but the greater risk is the damage to the organization before they are fired.
The premise is that people are great or not at interview time, and the process just needs to be accurate.
But for both false positive and false negatives, the reality is that how people work out does not vary primarily with their skills (probably because all candidates have enough baseline skills) but is a function of both them and their work+environment - not f(emp) but f(emp, work, others).
For f(*, work, others) there are 2 troubling issues: 1) for underperforming groups, there's a massive incentive to blame someone, and blaming the new hire is the solution that doesn't disturb existing relations; and 2) even effective combinations f(emp, work, others) might not be able to perform as needed, so performance is only a qualified measure of effectiveness.
So the more interesting fact is when low-score hires end up doing well, which is signal for a high-functioning team being able to get the best out of people. And when emp goes on to other contexts successfully, the effect could be persistent (and they could be bringing it transitively to other groups).
Yes, companies need to hire good people. But sometimes it's more important for companies to make good people of those they hire.
I suspect the poster child for selection is Amazon, and for making the best of what you have is Apple. Amazon is great at pursuing new opportunities relentlessly, while Apple is good at managing a very complex supply chain and delivering consistently.
So on the "bundle" theory of companies (from recent discussions about Japanese company diversification), you'd want to optimize hiring to company capabilities and orientation.
If you make "accuracy" at interview time the standard and optimize against false positives, you're almost deliberately hiding from the details that determine what people will grow and contribute the most. (Here's where prior relationships, school networks have a positive effect that pragmatists accept (notwithstanding the social bias).)
Almost any work can be as formative as prior experience and education. I think that depends most on mutual consideration and a growth perspective, and you can interview for that. Like investments, you're looking for growth potential, not past performance.
Ironically, successful teams that make the most of their people don't need to hire so much, so you'll have less signal.
That answers why interviewing can not only be broken but stay broken: you're studying failures and optimizing for anti-failures, but there are a million ways to fail and a billion incentives to do so.
Better to deeply understand and replicate the few successes.