and lo, there was much rejoicing throughout the land.
Whiteboard coding is a terrible practice that should have died 15 years ago. 1 hour of pair programming on a real computer (even locked down with no network access) should tell you all you need to know about a person's skills.
See, this is where 'different strokes' thing comes in handy. I HATE HATE HATE pair programming. If you tell me I have to do 1 hour of pair programming on a job interview, I won't go. Not because I'll get nervous or anything, I just don't like a few things about it, a couple:
a) I hate having people in my personal space I don't know well. It may seem I'm being an asshole, but I'm very very very very sensitive to smells to the point that I can't concentrate. Your cologne or just body smell will probably be my number one focus throughout that hour.
b) while I don't have OCD/am a germaphobe, again I HATE HATE HATE using a keyboard that isn't new or mine. The stickiness of the keys, the dirt around them... makes me go crazy.
I always carry my laptop to interviews with me nowadays to at least avoid B.
So, for me, a whiteboard is great (for some reason, I don't care much about a dirty board/pens) and I do amazingly well on them. I also do very well in public speaking situations so maybe I'm just comfortable at that kind of interaction/distance.
I think the best is to truly ask the person what they prefer. If they want a laptop, great, if a whiteboard, cool as well, I've done both both as an interviewer and interviewee, and noticed that as well, some people prefer a whiteboard, others a laptop. Give them what they are more comfortable with.
Pair programming physically side by side is not great. Pair programming or integrating/coding together remote over Skype/Gotomeeting/etc screen sharing is great when needed.
It is like having another programmer in your head and you can't see each other type so there are less jibs/jabs. Plus both people can eat, drink, do things rather than just stand around one workstation like people did with TV in the 50s and one person can't see the screen.
I can't remember the last time I pair programmed in person over remote even in the same office/building. Occasionally you need to be in the same room or desk to draw something up but mostly it is more efficient remotely especially during an integration.
Pair programming remotely is like "hey you got a bug on line 441", pair programming side by side physically is like "dude you got a bug down there, btw just just use this hotkey" or doesn't even see it because you can't see the screen.
I agree. I work remotely and do this a lot with team members, but when people suggest pair programming, they are (usually) referring to 2 seats on 1 keyboard kind of thing, which I hate and would probably quit if I had to do it on a day to day basis.
If you haven't figured out what you need to know in 5 to 10 minutes of pair programming, you're doing it wrong. There's absolutely no reason to subject yourself or others to an interview that is over an hour long.
When I conduct interviews, I make every effort to keep them to 15 minutes. If we end up chatting for longer than that, that's fine, but the planned and structured part of my interviews are no more than 15 minutes long.
The way I look at it, if a company can't respect my time and can't optimize theirs, I don't want to work for them anyway.
Whiteboard coding is a terrible practice that should have died 15 years ago. 1 hour of pair programming on a real computer (even locked down with no network access) should tell you all you need to know about a person's skills.