Hacker News new | ask | show | jobs
by timr 2876 days ago
It's bizarre to me that you think that whiteboard coding tests "communication", in any way. It's not like a presentation, or anything. It's one-sided combat where someone with a secret tries to get someone who doesn't know the secret to regurgitate the secret, on the spot, while pretending that s/he didn't memorize the secret in advance while cramming a great big "Cracking the Programmer Secret" book to prepare for the entire silly exercise in Kabuki theater.

If you want to test communication skills amongst programmers, I dunno...ask them to write something in coherent English. Or here's a crazy thought: ask them to document some code. I guarantee that 80% of working "rockstar coders" will fail (but not before whining, crankily, about how unfair it is that you would actually make them do such a useless thing, since, y'know...never actually documents anything IRL, dude).

Programmers like whiteboarding because it lets them believe that interviews can be reduced to purely objective functions, and because GooAmaSoftBook does it. They're too scared to deviate from the pack, lest people think they aren't as "elite" as everyone else.

4 comments

> It's bizarre to me that you think that whiteboard coding tests "communication", in any way. It's not like a presentation, or anything.

I feel like we're probably at an impasse if I can't convince you that a whiteboard is a decent medium to communicate ideas around datastructures and algorithms, but I appreciate your point of view.

I can only say my experience, which I hope you will take into account as one anecdote. I don't read books about "cracking the coding interview" or do leetcode or hackerrank. I left school 14 years ago or so my stash of cs trivia/secrets/gotcha isn't particularly full. I've done whiteboard interviews where I come up with at best a naive solution.

And yet I've received offers for fairly senior engineering positions at Amazon and Twitter and (hopefully tomorrow) from Google. Most of the whiteboard interview isn't even around the code, although that's a small part. Most of it is analyzing the problem, discussing constraints, discussing tradeoffs, walking through data structure manipulations, drawing arrows and boxes, that kind of stuff. Some code, maybe 30% of the interview. I just keep having this experience where nobody wants to play the gotcha game, they want to know how well I can communicate while solving a problem and they think they get that information out of the interview (I agree with them).

That experience makes it hard for me to understand a viewpoint that believes that whiteboard interviews are about memorizing secrets in advance.

Have you considered that your experience interviewing at these places might have been atypical?

Every set of interview prep material I've seen from Facebook, Amazon and Google recruiters asking me to interview in the last 3 months has included links to things suggesting "cracking the coding interview" is a good start and pointing to similar docs otherwise.

> I guarantee that 80% of working "rockstar coders" will fail (but not before whining, crankily, about how unfair it is that you would actually make them do such a useless thing, since, y'know...never actually documents anything IRL, dude).

Are you sure you're not just replacing one stereotype with another here? Do you think it's fair to say that 80% of people who do well at whiteboard coding value documenting their software so little that they'd be fail at it while disparaging the concept?

I think that was hyperbole for emphasis, not a strong generalization as you imply. I've met and worked with plenty of programers up and down the scale of ability who think "code is self documenting."
There are plenty of things one can gauge candidates on via the whiteboard. System design, application design, psuedocoding implementation (or real coding, if necessary - it should be natural flowing from psuedocode to implementation though), problem solving with visuals to denote intuition...the possibilities are vast.

There seems to be a bunch of ingenuous assertions here that is characteristic of someone who doesn't think one should have to prove oneself. I'm at a FAANG and we don't even ask anything crazy hard for algorithms/data structures like Google or Facebook does, but our interviews still manage to be intense for technical and soft skills - they will challenge even strong candidates and one cannot pass the interview without displaying strong technical acumen or communication skills.

There is so much more to technical assessment than just coding. A whiteboard is just a standard medium for communicating ideas in a collaborative manner that still works the best for any sort of deep collaborative design when compared to any other medium so far.

or do a code review
Indeed. Or give a talk, or write a design doc, or...so many better options, all of which could be balanced out across a day of interviews.

Think how much you might actually learn about a candidate if your interview process replaced a day of solid whiteboarding with a code review, some pair programming, a session of documenting someone else's code, behavioral interviews, etc. It's almost as if you'd be treating them like a...person!