←back to thread

Please stop the coding challenges

(blackentropy.bearblog.dev)
261 points CrazyEmi | 6 comments | | HN request time: 0.001s | source | bottom
Show context
fishtoaster ◴[] No.42149357[source]
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 onsite pairing exercise in 2 hours. This would be a version of #1, but more of "see how far we get in 2 hours."

3. Submit a code sample of pre-existing work.

Based on the ire I've seen takehome tests get, I figured we'd get a good spread between all three, but amazingly, ~90-95% of candidates chose the takehome test. That matches my preference as a candidate as well.

I don't know if this generalizes beyond this company/role, but it was an interesting datapoint - I was very surprised to find that most people preferred it!

replies(7): >>42149441 #>>42149536 #>>42149571 #>>42149636 #>>42150136 #>>42150254 #>>42151318 #
1. commandlinefan ◴[] No.42149636[source]
> ~90-95% of candidates chose the takehome test

I was expecting "3. submit a code sample" to be the overwhelming winner here - did anybody choose that? Seems like a no-brainer, since it's already done...

replies(5): >>42149676 #>>42149882 #>>42150330 #>>42150994 #>>42151663 #
2. SCUSKU ◴[] No.42149676[source]
The code I've written in personal projects have been pretty messy -- whereas code I've written professionally tend to be better (not perfect), but of course I can't share that code.

On the employer side, I would prefer the take home assignment over existing code, unless the existing code was super high quality or highly relevant to the company.

3. ◴[] No.42149882[source]
4. nemetroid ◴[] No.42150330[source]
99.9% of the code I’ve written is proprietary.
5. recursivecaveat ◴[] No.42150994[source]
Work samples are a trap. Real problems are always way more hairy than contrived ones, which is not appreciated by people who were just introduced to the problem 30s ago. Since you wrote it while trying to actually accomplish something rather than polish up a perfect little nugget to impress someone, you probably spent way less time per line.
6. fishtoaster ◴[] No.42151663[source]
I only had one code sample.

As others have pointed out, there are a lot of problems:

- Many engineers don't write code outside of work and so don't have much code they can show off without breaching their employer's trust

- Those that do often don't have recent code.

- Those that have recent, personal code to show off have often written it to accomplish some goal and the code isn't necessarily a great example they feel like showing off

Really, the only people I've seen have good code samples are those who do extensive open-source work. And for those people, I'm probably already aware of that work when I checked their resume + opened their github.