Posted by ChrisArchitect 3 hours ago
Leetcode was always weak, but now that it is easy to cheat on it is a negative selector, because the cheaters do best. Leetcode was originally supposed to be done in-person on a whiteboard to assess a candidate's collaborative problem solving skills, but with remote interviewing it has evolved into writing passing code with minimal or no feedback.
The real problem is that engineering departments are now filled with leetcode grinders and cheaters, who all live in permanent fear of being replaced by AI, and so any candidate who doesn't fit that paradigm is a threat that must be eliminated at all costs.
Maybe the relentless pursuit of "efficiency" at all costs has broken the world?
I remember when I applied for my first job. I got dressed up and my mom drove me to the interview because I didn't have a driver's license or car at the time. It wasn't "efficient" for me and I suppose it wasn't "efficient" for the company but much to my surprise, I got an offer and that was my first "tech job"...before tech jobs were cool.
It's very strange that the authors talk about how "making a bad hire is terribly expensive" but then call out "travel time and costs". Well, if B < A for each role filled, is it really so bad?
And yeah, I get that huge companies like Google and Facebook hire from around the world and not everyone is located in close proximity to Mountain View and Palo Alto, but that speaks more to the oligopolistic world we're living in than anything else.
If a small number of companies weren't distorting the labor markets, this might matter less.
The cost of a bad hire they're referring to includes things like opportunity cost of not having a good hire in that position, damage they've done to the product (codebase, design, etc.), and second-order effects like demoralizing the rest of the team.
The actual hiring costs of a bad hire are a rounding error compared to the damage they can do.
Have you ever been on a team that was great until they hired one wrong person who made every work week a miserable slog? Attrition goes up as the good employees start to leave. The codebase starts accumulating a lot of tech debt. Even after they're gone it can take a long time to recover.
This is why it's so important to be able to fire fast, but that's another topic rife with difficulties.
If the cost of a bad hire is huge (which I agree it is), why is the hiring process optimized, in part, around reducing the travel costs? It would seem that these costs are modest in comparison.
A friends' company has even ended remote hiring altogether after auditing their remote hires and discovering a lot of connections from countries they didn't expect.
There's even a growing scam where people get recruited to lend their identities and bank accounts to someone else to get the job. Then they're asked to install some software on the company laptop and leave it open and powered on during the workday so someone can operate it remotely. Remote work is wild right now.
The time commitment is real, but on-site travel is almost always reserved for the last round on-site. Often as a final pass verification, or when the company is down to a couple of final candidates. Companies aren't flying every applicant out for all of the interviews. If you get to that point, you're close to the job.
Also, in terms of the costs to the applicants, this touches on the oligopolistic nature of so many industries today, which has resulted in high concentrations of the most desirable jobs in places with the highest costs of living.
Basically, unless you already have a FAANG job or are independently wealthy, it's not easy to up and move to Silicon Valley, Seattle, etc. and job hunt.
In the Olden Days [tm], jobs were advertised through recruiters, physical media (eg the paper) and connections. You had to review applications and conduct interviews. The cost of applying was relatively high, your reach was relatively low and the investment per applicant was relatively high. So imagine that there were enough jobs for everyone in a simplified model. 10 people applied for 10 jobs. It's not the same 10 people for each job. But there was a decent ROI on effort. It kinda just worked.
Fast forward to now and the cost of applying is essentially zero in terms of registering interest and submitting a CV. And you apply for a lot more jobs so instead of 10 applicants for 10 jobs, you have 200 applicants for 200 jobs. Still the same applicant to job ratio but way more inefficient for everyone involved. Applicants can't put in the same effort for 200 applications that they did for 10 and employers can't review 200 applications the same way they did 10.
So what happens? Employers, who have the power in this relationship, put up roadblocks in the name of efficiency. Now you have to survive ATS before ever going in front of a human. That ATS uses inscrutable logic that may filter you out for not including enough keywords or some other specious reason. You now have hiring assignments.
The net effect is that an applicant puts in 200 applications, get automatically filtered out from 180 of them and then has to do upwards of 20 take home assignments.
Plus there are more and more layers added. More rounds of interviews. Phone screens. Remote interviews then on-site interviews. All of this wastes time and, like you allude to, I don't think it's effective. But it's a natural response to the illusion of choice.
Let me give an online dating analogy. In years gone by, you'd rely on meeting people in person. Now, less so. And speaking in a strictly heteronormative sense, how it tends to go is that women on average have hundreds of choices and men have on average far fewer. A gender imbalance plays into this.
So what does a woman in this scenario do? They start adding filters to just make the numbers more manageable. Height, salary, location, same interests and so on. So the net effect is that that a lot of people are indepndently applying filters and filtering down to a pool with a lot of crossover. Conventionally attractive men, for example, will tend have far more options.
So I think the same happens with hiring. If you're a Big Tech company, you start adding filters. Did this person go to a top school? What internships did they have? Do these things matter for on-the-job performance? Barely (IMHO). But what you'll probably find is that a handful of people have a ton of options while others struggle. And it's simply the product of employers trying to make their applicant pool manageable but they're all doing it in very similar ways.
And I honestly don't know what the solution is.
I have seen this phrase structure before.
Lol. I'm not sure this person has ever given an interview before
It's really easy to screen out people when you say "Hey - login to this VM and show me how to import raw data into postgres and run a report."
Or do whatever you're going to do.
My favorite story is from a particular sean who had a candidate that said they'd been using VM for 20 years, and when he went into a document the candidate hit j 200 times to go line 200.
I don’t use it as an IDE, I use it 5-10/year to read or edit a random file.
I probably wouldn’t remember “g” or whatever the goto command is. And hitting j 200 times isn’t the end of the world.
Although tbf I kind of doubt if this was ever really the case - probably this is imagined nostalgia for idealized bygone times. And given that this is a strategy that requires, y'know, long-term investment and planning, it's not like it's going to start happening anytime in the near future