| Sure but the burden is on the company to understand what skills they need to hire for well enough to hire for the role, not on the candidate to just prepare for everything and roll the dice in a 9 hour interview This is where interviews can and should be done differently. In my career some questions I’ve been asked in interviews are: serialize and deserialize a binary tree, create an in memory cache from scratch, design an elevator system for a building, sequence DNA strands together using dynamic programming, build a flight control system for an airport, recreate atoi function, etc… Sure enough, none of these interview questions had pretty much anything in common with what work I would end up doing at the company, so this was an inefficient way to hire that wasted a lot of my time. This would be like trying to find a plumber to fix my sink by having them come over, showing them the sink, then sitting them down to grill them on the theory behind some thermodynamics, Bernoulli’s principle, maybe throw in some design questions about how to redo my sink. This is surely how you find the best plumber because only the best will take the time to really understand what they are doing when they fix a sink right? Like it or not the vast majority of work in the software industry is e-plumbing where you fix sinks and connect pipes together to start the flow of CRUD from one end to the other, which is why our way of interviewing people is insane. As an exercise for the reader, see if you can figure out which interview questions I listed above were asked to work at a FFANG company vs small startup companies that are all bankrupt now. Pretty hard isn’t it? |
It's best not framed as a burden, but a tradeoff. Companies who understand better what skills they need to hire for quite reliably higher higher quality candidates, or are able to get away with paying them less, or both.
Take McDonald's as an extreme example. I am certain McDonald's has paid good money to figure out exactly what someone needs to be able to do in order to be an able burger flipper. That's a big part of why they're able to hire such folk quickly, at scale, at $10 an hour.
Most software companies face economic conditions which incentivize them to take the other end of the tradeoff. The work often is percieved to span such a vast possibility space it's nearly impossible to precisely specify the requirements a software engineering job has, in a way anything like the McDonald's position can be.
One of the mechanisms they choose to employ to minimize false positives despite this huge uncertainty in their own requirements is "Offer a lot of money and let the cream rise to the crop via pre-hiring competition". Hiring someone at $100/hr who is obviously and clearly very smart and hardworking is a much safer bet than hiring someone at $85/hr who you think could probably handle the job with a lot of effort, assuming nothing in their personal life derails them over the next 6 months or anything.
Final aside:
>This is surely how you find the best plumber because only the best will take the time to really understand what they are doing when they fix a sink right?
Nobody's ever looking for the best. They're looking for good enough, within tolerances.
I do have an uncle who did become a plumber after a long career as a chemical engineer. He is extremely sought after, and charges to match. He doesn't usually take "change my sink" jobs.