Live data from Hacker News

Please stop the coding challenges

blackentropy.bearblog.dev

411–420 of 493 posts

Re: Please stop the coding challenges

#411

I recently ran an interview process for a relatively senior eng role at a tiny startup. Because I believe different interview methods work better for different people, I offered everyone a choice: 1. Do a takehome test, targeted to take about 4 hours but with no actual time limit. This was a non-algorithmic project that was just a stripped-down version of what I'd spent the last month on in actual work. 2. Do an onsi…

Why would you even do any of that for a senior role? I wouldn't waste my time with it, and it shows you don't know how to interview/evaluate for a senior position.

Because all evidence[0] I've found has shown that work-sample tests and repeatable, structured indicators are the best indicator of job performance. I understand that a lot of devs think they can get a feel for a candidate by just having a good ol' conversation with them, but the body of study on the subject says that that's just wrong. And so I have people do a task that's as close to the actual job as humanly possible and evaluate them on that.

https://www.researchgate.net/publication/283803351_The_Valid...

Re: Please stop the coding challenges

#412
post #77

A small anecdote. A partner of a friend quit their job earlier this year. They then took 4-6 weeks to prepare for each interview with Big Tech companies (4-6 weeks for Meta, 4-6 weeks for Stripe, etc.). Along the way, they also took random interviews just to practice and build muscle memory. They would grind leetcode several hours a day after researching which questions were likely to be encountered at each Big Tech.…

Sounds like the system worked exactly as intended then. A seemingly smart person got a good job. What's the problem with this story exactly?

They passed over all the people who didn't study hard enough on random word problems, and then practice those types of problems sufficiently such they could hammer out a solution in under 20 minutes. Multiple aspects of the "leetcode interview" require practice outside of work experience for many people, despite them being great problem solvers.

Re: Please stop the coding challenges

#413
post #115

Earlier quoted context omitted.

> IRL, this individual is a good but not exceptional engineer having worked with them on a small project. Have you worked with them since they went through this regiment? Doing a DS&A coding problem regiment + system design will change you as an engineer. You might be surprised how good they've become. Also they say they've forgotten. But if they were able to get that position, they probably could do medium level lee…

> Have you worked with them since they went through this regiment? Doing a DS&A coding problem regiment + system design will change you as an engineer. You might be surprised how good they've become. Having done this prep, I can't tell if this comment is sarcasm. Building real systems makes you a good engineer. Maintaining systems over a long period of time makes you a good engineer. Working with other experienced en…

   > ...it's usefulness continues to trend downwards as it becomes more standardized
I think this is a key point that a lot of commenters in this thread gloss over. That as the questions become more "standardized" and "predictable" (leetcode being a prime example), the results of using these questions tests for something, but that something is not what necessarily makes a "good engineer".

The system design questions are probably even worse because the expected responses are so templatized -- even more than leetcode.

Re: Please stop the coding challenges

#414

Frame shift: coding challenges are work. (I don’t care that the assignment is useless for the company, that’s not my problem!) The issue for me is that it is unpaid. If you really want me as a developer, pay me. As an industry, we might even set a standard rate for these homework assignments. I suggest a rate which is enough for me to say it wasn’t a waste of my time. As an anecdote, I was interviewing at a startup t…

Nobody is going to pay candidates for their time during the hiring process. And honestly nor should they. You are not doing work for the company when you do some test to demonstrate your skill. I'm not in favor of take home "go write this thing" projects, but what you're suggesting isn't a viable answer at all.

Whether they should or should not pay candidates is a matter of negotiation, not a law of nature. You don’t need to argue the company’s perspective for them, they will do it.

From the company’s perspective, they are indeed getting value from the homework assignment: an opportunity to evaluate a potential hire. If that seems weird, consider why any company would pay to post a job opening. The price they are willing to pay has nothing to do with the marginal cost of displaying the ad.

Re: Please stop the coding challenges

#415

Earlier quoted context omitted.

It's not a pointless ritual. It tests for determination, grit, and willingness to grind on difficult, frustrating and ultimately value-free tasks. All crucial skills in the modern technology or legal workplace.

And by that argument, difficult big tech system design interviews are interchangeable with bar examinations.

I actually think we should keep the system design interviews because they are closer to what I've actually experienced and researched in service of my work.

The leetcodes feel completely unrelated.

Re: Please stop the coding challenges

#416
I have a very different perspective on coding challenges. In my last role building a startup, I WAS the employer. The results of coding challenges and the conversation that followed were the most telling about a candidates technical and reasoning skills. I would genuinely never hire without them.

If you're not willing to do coding challenges, your ability to write code and reason about your decisions probably suffers as well. It's self-selection.

We told candidates to not take more than 2 hours on our challenge and we meant it. I tested the challenges myself from scratch to verify that it was possible in 2 hours. I still only consider myself a quasi-engineer, so if I can get it done in that timeframe, a full-time engineer using AI should surely be able to.

There's a few considerations that I believe make coding challenges as fair as possible:

- Make sure the challenge 100% relates to a real task they would do on the job. As an example, for our engineers who would be writing open-source Python ETL integrations, our test was to build a Python ETL integration to pull episode data from a IMDB api.

- Tell the candidate that it's ok to not clean or refactor the code. Meet the requirements of the task first. Your job in the interview process is to ask them what could be improved or why specific decisions were made.

- Don't have anyone perform a technical test until you've first invested a decent amount of time into them as the employer.

- Ask the candidate how long it took them. If a candidate takes longer than the allotted time, they're showing you that they'll overwork themselves and not follow instructions.

Re: Please stop the coding challenges

#417
post #303

Earlier quoted context omitted.

Yeah, I feel like jobs that don't require you to reverse engineer a bunch of stuff are the exception, not the inverse. Hall, I do greenfield embedded programming. Most of the code I touch is completely new; the entire codebase has been replaced and rewritten by me over the last three years. Not one other developer has contributed any significant amount of code. Even then, in this scenario, I'm still reverse engineeri…

How are you defining bad code? Imo unreadable and undecipherabe code is one subset of bad code.

I would argue, that in that vast majority of cases, the readability of code is the single most important metric.

Re: Please stop the coding challenges

#418
post #65

This is a friendly reminder that you are welcome to withdraw a job application as soon as you are offered a coding challenge. If this is an exchange with a recruiter over email or linkedin messages, you can simply reply with something like this: "Thank you for sending that along. I would like to withdraw my application for this position."

It might be just me, but seeing such a message would mean that my company just dodged a potential bullet.

Re: Please stop the coding challenges

#419
post #75

The more people online complain about coding interviews, the more confident I am that they are the absolute best way to filter candidates for a software development job. Across the industry there are way too many talkers/pretenders/meeting schedulers and not enough people who can roll up their sleeves, jump into the code and actually get stuff done. And this problem becomes worse at higher levels. You can bitch about…

Even if we buy that leetcode is good in general, what about for the increasingly more dominant variant, the ML/AI engineer? How can we even ban them using LLMs in their "ML-leetcode" problem when the problem is on LLM tokenization or something? Like, if I lose a candidate because they're experts at using cursor + claude to do their coding (i.e. they solve it by writing 3 prompts and filling in 2 errors which are easi…

If its easier to do with AI help then you'd expect supply of qualified devs to go up and salaries to plummet

Re: Please stop the coding challenges

#420

Earlier quoted context omitted.

Maybe there were in the past, currently there is entire industry there to help you game the system. - Cracking the coding interview. - Elements of programming interviews in Java|Python|whatever... - leetcode & other sides with paid premium subscriptions... - mock interview bootcamps... It's no longer about skill, it's only about gaming the system.

What do you mean “gaming the system”? The companies ask that candidates learn how to solve algorithm problems and the candidates do it. I would call it “everyone playing a game they agreed to play by the rules they agreed to play with.” And I don’t know what you mean by “it’s no longer about skill.” It still takes a lot of skill to be able to solve hard algorithm problems, even if you took a course on how to solve th…

Tech interview preparation mostly boils down to rote memorization not really what I would call “developing a skill”. You just cram enough until you can pattern match any kind of DSA or system design problem and apply the solution you memorized. Once you finally land the job, you’re free to forget everything. Then you begin to develop “real skill” on the job.
Post reply on HN