Hacker News new | ask | show | jobs
by redshirtrob 2001 days ago
> Why is there so much aversion to proving one's abilities? Programmers today feel they shouldn’t have to do whiteboards, or hackerrank, or take-homes.

Because it doesn't necessarily prove one's abilities. Each of those items have pretty obvious flaws:

- Whiteboard: Usually idealized problems requiring specific knowledge that is easily looked up, but not necessarily in one's short-term memory. Whiteboard is generally not the tool one uses to write code. It's very easy to bomb these sessions despite being competent.

- Hackerrank: Easy to cheat. Usually toy problems with idealized properties, i.e. they don't have the dirty edge cases you see in real world development. This also tends to be just a first-pass filter for getting an phone interview or maybe on-site.

- Take Home: Easy to cheat. May run afoul of existing employment agreements. Requires a pretty large up-front time commitment, and IME does not actually avoid the on-site whiteboarding sessions anyway. It's more of a first-pass filter.

> How does a prospective employer evaluate someone’s problem-solving and programming chops?

That's the million dollar question. As an industry we just don't have a good system for identifying competent developers. My personal approach is to stick with folks I've already worked with, who have a long track record of delivering. That doesn't scale at all and is not very good for folks just entering the industry.

I truly wish we had better answers and I support anyone trying to build something that explores the problem space. It's nice to have diversity in hiring practices.

1 comments

Cheating on the take-home assignment is easy to fix: have an interview after the assignment is turned in, and ask the candidate to walk through their code, explain their choices and design decisions. (The task should have a few places where making a decision is necessary, eg. whether to use a relational or a NoSQL database.) This can expose cheaters that have no idea about their choices, and help the interviewer understand or accept some decisions they might dislike or disagree with.