Yup, it's a gross system, designed only for checking if the kids did their CS data structures homework last week. This may have relevance at the FAANGs in the 2010s when they were hiring cattle, but small to midsize companies need about zero of that and would much better suited testing someone's ability to read/review code, or discuss edge cases for a feature, or any number of other soft, real world situations.
I've worked at startups for more than 20 years and I still fail these stupid tests because I refuse to "cram". And that's fine. Those are bad fits for me anyway - I've been a CTO, built and launched multiple companies, managed teams, worked well in teams, etc. But I am still treated like a new grad in most of these interviews.
I failed to implement a LRU cache fast and clean enough in one of these interviews. How many statups need this? I haven't done that since the 90s. And I fully understand how someone can look like an idiot for not being able to do some these tasks instinctively when they may be so recent in your mind, but if you never use them at your job, what's the actual point here? It's like hiring an architect based on their slide rule skills.
To me it shows a lack of care given to hiring in general. At best it reveals workers that will throw hours at problems rather than thought. Mercenaries, I guess. But companies that hire like that tend to have highly complex code. And not because it needs to be complex, but because the company culture tends to focus on clever solutions above solving business goals.
I would rather hire and work with people who focus on breaking down problems and keeping logic and structure as simple as possible. Complexity is the enemy of progress. If there is one benefit of leetcode is that it finds smart people who can handle lots of complexity. Which is useful! But I would rather hire someone who isn't and can't, but can solve real world problems effectively and consistently. Wild concept, I know!
Don’t get me wrong, at 51 years old with my experience, I wouldn’t even think about doing a coding interview and in fact the only reason I got into BigTech at 46 was because a position at AWS ProServe fell into my lap in 2020 (no longer there).
But given the choice between making BigTech compensation and enterprise CRUD compensation if I were 25-30 I with today’s opportunities (well not the current shit show) instead of when I was 25-30, of course I would “grind leetCode” and do what it takes.
> I would rather hire and work with people who focus on breaking down problems and keeping logic and structure as simple as possible
At my stage in life, I can afford to be picky about where I work and optimize my lifestyle choices over money. But if I were 25? If I had to work 40 hours a week anyway, my only concern would be where could I get the most money in my bank account and as much (public company) stock in my brokerage account via RSUs. You act as if being a “mercenary” is a bad thing. The only reason I work is to exchange labor for money. That’s been the case since 1996. It ain’t about “passion” or the “mission”.
Nothing wrong with being a mercenary and I agree with the value prop differences by age/life stage.
I think working in a non-spaghetti codebase makes a huge difference, work enjoyment-wise - regardless of age. And that can be more valuable than people think.
My first job out of school was an amazing model of how to run a company and had been around for years. I have also worked at startups who had immediately created a big ball of string within 3 years. The company with by far the smartest people had to run a nightly job to "recalculate everything" that took 10 hours because their logic was too complex to be reliably deterministic.
If I just wanted a fat paycheck I would have gone into finance or fintech, it's far simpler. I don't intend to discount other people's or company's choices, but I do think "leetcode as a default" is a terrible model for finding decent engineers, and even worse now we have LLMs.
> but I do think "leetcode as a default" is a terrible model for finding decent engineers, and even worse now we have LLMs.
I don’t disagree. It’s a gravity problem. I might not like gravity. But gravity doesn’t care if I like it or not if I jump off of a 25 story building. It’s a small investment in time to have a much better career trajectory.
Let me emphasize I wouldn’t do it. But I don’t have to. I’ve done the build the big house in the burbs things twice and now downsized. My (step)children are grown and fully launched. I have credentials an experience where two of the other BigTech cloud providers (I have worked at one) were recruiting me based on my network without grinding leetcode. But most people don’t have those choices at least at 25-26.
I definitely couldn’t advise someone who was a recent grad to meander in enterprise Dev because they didn’t want to play the game. Yes I realize a large majority of developers in the US are enterprise devs. If you take away my AWS account, I’m just an enterprise dev with above average communication skills.