Live data from Hacker News

Please stop the coding challenges

blackentropy.bearblog.dev

81–90 of 493 posts

Re: Please stop the coding challenges

#81
post #38

> When was the last time you had to debug an ancient codebase without documentation or help from a team? > This is like asking a Ruby developer to debug PHP as a test of flexibility > If the job requires specific tech skills, test those skills Sounds like someone failed a coding challenge. In all seriousness, you need to understand that companies rarely implement their hiring practices for the sake of it. It is usual…

[deleted]

Re: Please stop the coding challenges

#82

Earlier quoted context omitted.

It’s lucrative if your bar is 6 figures. No engineer that makes 7 figures calls themselves a ruby developer with the exception of DHH.

Isn't the average for software developers in the US ~100k(before taxes)? Assuming that high earners are offsetting that to the higher end, most people aren't making 6 figures, and the bar isn't which language they're programming in.

100k is on the lower end of junior salary

Re: Please stop the coding challenges

#83

Earlier quoted context omitted.

This is such an out-of-touch and ridiculous thing to say

And why is that? Do you not agree that time is our most valuable asset?

Interviewing is a time investment for both sides. Should the company charge you to evaluate your skills?

Re: Please stop the coding challenges

#84

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.…

If the interview is testing for the ability to learn new difficult things quickly, then it would seem to be successful.

Re: Please stop the coding challenges

#85
post #3

> This is like asking a Ruby developer to debug PHP as a test of flexibility. Sounds like an OK test to me. Great (senior) developers should be able to do that kind of thing. Categorizing yourself exclusively as "a Ruby developer" is a career trap.

I agree. I've had this happen often enough on the job that it's not a totally made up example. And usually you'll be one of two or three people in the whole company who is able and willing.

Debugging old DSL vendor specific languages or code so old using, frameworks and standards long out of fashion and support, that they are half way to being a different language.

Adding support for some back ported features or patching security holes in an old client or legacy stacks.

Or at a big company we had some escrow code from a much smaller partner that we ended up becoming responsible for.

Often getting the environment setup for proper debugging is more work than anything.

But yes, it's a good test for a senior+.

Re: Please stop the coding challenges

#86
post #15

> What companies often ignore is the extra time candidates invest beyond the “suggested time” for these tests. This is a feature not a bug. Companies are testing if you can focus and complete a hard uncomfortable challenging task, because at your job you’re expected to do things you don’t want to do, but will be rewarded for doing.

[deleted]

Re: Please stop the coding challenges

#87
Nope. I gave dozens of coding challenges at my last job. It was as directly job relevant, and as low-stress, as we could make it. We were a Python+Flask shop, and we had candidates who claimed both those skills flesh out some API endpoints in a stripped-down sample repo. They could use their own computer, and their own editor, and collaborate with me, their potential new coworker. And I enjoyed giving the challenge, and liked making the candidate feel comfortable and excited to work on some of our code. We gave instructions ahead of time like "you're going to clone a Git repo, edit the Python, run the tests until they pass, then commit the results". You know, the absolute bare minimum you'd need to be successful at the job.

Some candidates with many years of listed experience had never used Git. That was a little surprising but maybe they'd worked at a Perforce shop or something. Nevertheless, they knew in advance they'd be using it today, and that's not exactly some obscure job skill we were asking them to learn and then forgot. OK there: "I didn't use Git at my last job but I read up on it, and I might have some questions." Not OK: "What's a clone?"

Others didn't have an editor or IDE set up. Just how? I get not taking work home with you, but you've never once written a little program to balance your checkbook or make anagrams or something else random? And again, we'd told them ahead of time they'd need it today.

It's OK not to be a Python expert, but if we give you:

  def add(a, b):
      return 4
and ask you to implement it, and you say you have more than zero days of experience, I do expect you to figure it out.

And I'll say it: we had plenty of people fail at the fizzbuzz step, often in astonishing ways. One memorable person couldn't grok the concept of factoring it out into a function like:

  for i in range(1, 101):
      print(fizzbuzz(i))
so that you could arbitrarily test fizzbuzz(1_000_000_000_000). They had the novel idea of capturing stdout and comparing it to a test fixture stringwise. Which, OK, it would work, but... I asked them how they'd see if the a test value in the trillions was successful and they mentioned using CLI tools like tail to check just the end. I did verify that they weren't just playing around for conversation's sake, like coming up with an absurd idea and exploring it for the fun of thinking through the problem. They were convinced that was the right way to write real unit tests in large codebases.

So no, I'm not giving up coding challenges, not until I see a higher passing rate among people who list years of experience on their resume. If you claim you've been writing Node apps for the last 10 years, by gosh, I want to see that you can at least write a working function in JavaScript.

Re: Please stop the coding challenges

#88
post #12

So we should stop the coding challenges, stop LeetCode, stop whiteboarding, stop profiling candidates, stop asking for their GitHub page. How is hiring supposed to work then? Just post the contract online and the first one to mail it back gets the job? I like live coding challenges, something like a ~2 hour pair programming session, ideally modifying an existing project. I invest as much time as each candidate, while…

You could also, you know, talk to people, like we did before Google and the Silicon Valley bro-wanna-bes decided that coding interviews was the only solution.

I've hired plenty of people without having coding challenges or any form of live coding. I've been happy with all of those hires. A former co-worker did some take-home coding tasks, which they'd then talk to the candidate about during the interview. I feel like those hires where worse in may ways, they certainly didn't stay around as long. That may very well be completely unrelated obviously.

For years people have been complaining that exams aren't realistic, that some talented people just don't do well in an exam situation and we've mostly come to the consensus that this is correct and mistakenly filter out highly talented people. So why wouldn't we apply the same logic to hiring?

If you're hiring for a specialist position some coding exercise can absolutely be in order, but I can't think of any reason to have them for a junior position. So I wouldn't recommend dropping coding tasks completely, but I'd apply them more selectively, otherwise you risk missing a number of really good hires.

Part of it may also be that so many companies and interviewers are absolutely terrible at doing coding challenges, but do them anyway, because Google and Facebook do them.

Re: Please stop the coding challenges

#89
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?

A moderately smart person was selected for a good job perhaps over many many better possible hires simply because that person had the leisure to learn the game. Inefficient. But nice for that individual, naturally.

Re: Please stop the coding challenges

#90
post #45

I had a very bad experience at a company that did not conduct any coding tests; there were just 2 or 3 interviews, and that was it. The issues began when we started working together in a Data Engineering team. Most of our stack was based on Hadoop, Kubernetes, Ruby, Python, and several other technologies that required a basic understanding of cloud computing. However, since we had such a wide range of work experience…

When you say they "couldn't even handle basic tasks" do you mean they were completely unfit to complete their assigned tasks, or that they were getting hung up on simple tasks, while otherwise being independent and capable? The other key question is whether you had to explain the same things to the same people again and again. Being ignorant is excusable, but being unwilling to learn isn't.
Post reply on HN