←back to thread

Please stop the coding challenges

(blackentropy.bearblog.dev)
261 points CrazyEmi | 6 comments | | HN request time: 0s | source | bottom
Show context
paxys ◴[] No.42148318[source]
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 it all you want, but you aren't owed that cushy $500K/yr FAANG job. If you can't get yourself to brush up on basic programming and write some for loops then companies will simply move on to someone who will.
replies(8): >>42148544 #>>42148572 #>>42148670 #>>42149168 #>>42149634 #>>42150242 #>>42159535 #>>42165332 #
ryandrake ◴[] No.42148572[source]
Yea, I happen to hate coding challenges, but not because they're hard--because they bias towards "people who have time to do coding challenges". That said you're absolutely right about how many phonies are in the industry and coding tests are probably the best we have to weed them out.
replies(2): >>42149088 #>>42150540 #
1. paxys ◴[] No.42150540[source]
This goes beyond software interviews and is just how the world works.

"I want to work for your company"

"Ok, prove yourself"

"Sorry, I don't have time"

How do you expect that conversation to go from there? If you don't have time then make time. It isn't anyone's problem but your own.

replies(2): >>42151385 #>>42152691 #
2. skydhash ◴[] No.42151385[source]
I'm sure I can do great in any coding challenge that actually test for problem solving and not esoteric algorithms knowledge. And when you stumble on the latter , it's hard to muster any motivation for the place. It's like applying for a driver position and they ask to verify how quickly you can change a tire (below 5 minutes is a must).
3. kristopolous ◴[] No.42152691[source]
That's not it though.

Pretend I was hiring a restaurant chef and the industry standard test was "run a mile in 4 minutes", a test that 98% of all candidates fail!

So professional chefs practice by jogging daily so they could prove themselves during the famous "run a 4 minute mile" weeding test so they can be hired to prepare meals for people.

That's what we're talking about here. I've had to write out the mathematical proof of various algo complexities of B* trees exactly 0 times when writing SDKs for some CRUD application but that's what's expected during the interview.

It's as correlated with the ability to do the job about as much as running a 4 minute mile in that younger, more desperate, easier to control, and thus cheaper people can do it better. That's what the actual filter is for - to find candidates that are easier to abuse and take advantage of - smart enough to do the work and foolish enough to take the job.

I've hired large teams at multiple companies where such tests were used and that was exactly why we did it. We didn't want the experienced 45 year old wanting to work 40 hours with vacation, we wanted the foolish 25 year old that gave us their weekend.

Actually saying that is illegal, but using a stupid test that selects for it is not.

replies(1): >>42153471 #
4. paxys ◴[] No.42153471[source]
Hiring professional chefs is actually a great parallel. "Chop an onion" or "make a french omelette" are basic tests that even the most experienced chefs being hired for top positions will have to go through.

"But this isn't relevant to my job, a subordinate will always do this kind of stuff."

"We are a fine dining dinner restaurant, I'll never need to make an omelette."

Doesn't matter, make a damn omelette. If you can't, you aren't suited to be a head chef, or any other kind of chef.

Knowing basic data structures and algorithms and having problem solving skills is absolutely critical to a software engineering job. In fact it is the entire job.

replies(2): >>42154564 #>>42159594 #
5. ◴[] No.42154564{3}[source]
6. zelphirkalt ◴[] No.42159594{3}[source]
And even that isn't really true. Rarely people will have to work with anything but the most basic usually language builtin data structures. Usually people glue together a few libraries and build some CRUD.