Live data from Hacker News

Please stop the coding challenges

blackentropy.bearblog.dev

181–190 of 493 posts

Re: Please stop the coding challenges

#181
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…

No home study grind on puzzle problems is a substitute for years of practical experience, which is what most teams actually hope for in their higher-level engineers. The point is not that the friend didn't pick up some implicit knowledge or become a sharper engineer than they were before grinding, it's that by exploiting the screening strategy, they got placed into a job they're not truly qualified for. Are they brig…

Yeah, in some ways I like "system design" type questions, because at least it's pretty creative and more like what I do at work than writing some little algorithm with a custom data structure.

But on the other hand, it's also not a very strong signal for my years of experience working on and designing portions of systems. I've never actually done "design a system from scratch", because every system that is big and complex evolved from some smaller and less complex system.

So the kinds of questions that come up in these system design interviews are best answered in real life with "I dunno, I'd pick something simple and refactor it later if it becomes a bottleneck".

"What kind of database would you choose for this?" "Whatever we're already using in production for other things." "How would you model this data?" "As simply as possible, so that we can get it out fast and start learning things."

But these are not interesting answers in these interviews. I have usually found myself saying "well, in real life, I would advocate for simplicity and iteration, but for the purposes of this interview, I'm happy to discuss potential trade-offs in technology selection, architecture, and data modeling".

But I think it's easier to study up on the "right" answers to the architecture and modeling questions, without spending a lot of time learning how to start simple and when to evolve toward complexity, etc.

Re: Please stop the coding challenges

#182
post #89

Earlier quoted context omitted.

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.

But is there a good way to find the "better possible hires" which doesn't have other significant disadvantages? If you have a convincing method of doing that, many companies would be interested in your ideas.

interview followed by paid internship/probation. watch them work on your real system. Keep them if they're good.

Re: Please stop the coding challenges

#183

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.

> It's not a pointless ritual. It tests for determination, grit, and willingness to grind on difficult, frustrating and ultimately value-free tasks. This is what people say whenever one criticizes the methodology of any test. They say that the real test was actually the friends we made along the way. The real test was the degree to which you are willing to humiliate yourself, or to accomplish things you don't underst…

> We filter for the worst, most damaged, and most desperate people.

These are probably the best candidates, from the perspective of a manager who is concerned with stability and not rocking the boat, at the cost of results and workplace quality.

Re: Please stop the coding challenges

#184

> When was the last time you had to debug an ancient codebase without documentation or help from a team? All the time. 300-400k SLOC in C++. Legacy in the sense that there were no tests of any kind. Little-to-no documentation. Solo developer at the tiny company. Fix bugs and add features while keeping the system available to the tens of thousands of users. A more recent example: here’s a patch for a critical feature…

+1

Jumping into an unknown codebase (which may be a library you depend on) and being able to quickly investigate, debug, and root cause an issue is an extremely invaluable skill in my experience

Acting as if this isn’t useful in the real world won’t help. The real world is messy, documentation is often missing or unreliable, and the person/team who wrote the original code might not be around anymore.

Re: Please stop the coding challenges

#185
post #94
post #77

Earlier quoted context omitted.

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?

Apparently they expect people to work for free for more than a month to learn material they then won't use. In my mind that's a rather nasty practice. Not that I'm complaining. I'm happy to pick up people that are good at computers but wouldn't be able to pass that hurdle, and probably wouldn't hire anyone that has.

It's very mild compared to postgraduate education. Or getting a degree in general. That's years!

Re: Please stop the coding challenges

#187
This blog post lists problems but offers no solutions.

Yes, complain all you want about what companies SHOULDN'T do. But then what do you feel is a better approach?

From my experience, you ask 4 software engineers what a proper interview should look like and you'll get 4 different answers.

Re: Please stop the coding challenges

#188
post #40
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.

Requiring a huge time investment like that will filter out a lot of the non-desperate folks…probably exactly the folks they don’t want to filter out! Also do they really want to set the tone that “I expect you to intuit what I want and I won’t tell you directly”? Sounds like an awful place to work, right out of the gate.

> probably exactly the folks they don’t want to filter out!

Maybe? non-desperate folks might waste the company's time. Usually companies can only give out one offer at a time. If the non-desperate person takes a while to accept, someone else in their pipeline may get an offer and flake.

We had a candidate agree to a start date and then cancel 2 weeks before because they decided to stay at their job.

> “I expect you to intuit what I want and I won’t tell you directly”?

They do tell you directly? "Do this hard uncomfortable task, where the task is study leetcode, completing a coding project."

Re: Please stop the coding challenges

#189
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…

> In all seriousness, you need to understand that companies rarely implement their hiring practices for the sake of it. It is usually the best their collective minds could come up with. Unlikely. It's usually what the most senior person either read about or experienced in the past. In fact I'd say that it is highly unlikely that they did any introspection at all as to what they are actually trying to accomplish. They…

Folks on this forum mostly won't remember but about 20 years ago the in-vogue way of interviewing software engineers was to ask "puzzle questions" (e.g. "I have 100 ball bearings and two are a different weight than the rest....") and "lateral thinking" questions ("why are manhole covers round?") because that's what they did at Microsoft and everyone copied Microsoft.

I'm told this is still the common style of interview for mechanical engineers, which says something about what it's like to work in that industry too.

Re: Please stop the coding challenges

#190
post #182

Earlier quoted context omitted.

But is there a good way to find the "better possible hires" which doesn't have other significant disadvantages? If you have a convincing method of doing that, many companies would be interested in your ideas.

interview followed by paid internship/probation. watch them work on your real system. Keep them if they're good.

That's what companies already do.

Are you suggesting that any coding interviews and challenges are simply removed from the existing processes? That just means you end up with more candidates to choose from, which doesn't sound helpful at all if your goal is to end up with better hires as the comment above was suggesting.

Post reply on HN