Hacker News new | ask | show | jobs
by dlikhten 5383 days ago
Give em a laptop. Those are a dime a dozen (we got a ton sitting around the office). Have em code in front of you. Hell I'd install any interpreter within reason to let em solve it.
2 comments

It's not about how expensive a laptop is or isn't. If somebody can't master the basic syntax of the language so that they can write a very basic algorithm without syntax errors and in such a way that it would run on the first try, they can't be very productive. And fizzbuzz is really the rock-bottom of the simple algorithms. Even a linked-list library would be a very reasonable thing to ask (if we're talking about C for instance). If somebody has to go through a few edit/(compile)/debug/change cycles for each simple thing, it doesn't sound very productive. Now, obviously if we're talking about an application that involves some baroque frameworks and class hierarchies, things are different, but simple things should be doable on paper.
Writing on a whiteboard while explaining yourself is different from typing alone into an IDE. Conventions you might use to avoid syntax errors (like typing a pair of braces and then filling the middle) may not work on a whiteboard. Pacing is different, and muscle memory doesn't help. You're looking at a blank whiteboard rather than your terminal with other parts of the codebase. The first few minutes of coding are often "getting up to speed"; many programmers are orders of magnitude more productive once they're "in the zone".

In short, I wouldn't consider "your whiteboard code is missing a semicolon" to indicate a lack of productivity overall, only a lack of practice coding on a whiteboard. (It surprised me how much better my whiteboard code got over the course of a quarter of teaching.)

FizzBuzz is not aimed to find the best, the kind of people who fail fizzbuzz don't fail it for syntax errors or semicolons. People fail fizzbuzz by staring blankly at the screen/whiteboard acnd not nothing where to start, you fail fizzbuzz by not knowing how to do a loop. You fail fizzbuzz by nkt knowing how to do an if statement, you fail fizzbuzz by not knowing about modulo arithmetic. Fizzbuzz is designed to get rid of those people.
I have never been in an interview for a job as programmer, to be honest, but really, we're talking about fizzbuzz here. You should be able to recite it in your favourite programming language. :)

For more complicated tasks I guess you can say it's debatable when whiteboard is OK and when you should give the candidate access to a computer.

I have a better grasp of the English language than the average college graduate, but I still make stupid errors even in the comfortable environment of a text editor. I might leave an article out, or I might miss a period, or I might write a homophone even though I know the correct spelling. As an editor, I've worked with a lot of professional writers — to a man, they all made mistakes as well. This is why I proofread anything important.

And that's under ideal conditions! Writing code on a whiteboard is so far from ideal for most people that keeping your variable names consistent is a challenge — balancing parentheses and brackets and keeping track of little dots is outright grueling, and doing all this during a job interview is enough to make even very competent programmers choke.

Amen. Who writes code on paper in real life anyway? The font is wrong, there is no backspace and you can't insert and remove lines. Interviewers have some nerve demanding proper syntax.

Give me a laptop with just a text editor and watch over my shoulder.

I'm not sure if you're sarcastic or not, but would you hire a programmer who can't compute "2+3" in his head? The same argument can be made for basic maths operations: we all have calculators (applications).