4 ms·
After many years of winging it, I developed what I think is a pretty robust interview process, inspired by Pivotal's RPI. If the candidate makes it through a qu
by stickfigure 8y ago
After many years of winging it, I developed what I think is a pretty robust interview process, inspired by Pivotal's RPI. If the candidate makes it through a quick 15-30m remote screening, I call them in to the office for pairing session.
* The session takes place at a pairing station - two keyboards/mice, two monitors (mirrored).
* We work through a fake problem that is relevant to real-world problems that we actually work on. No brain teasers, no complex algorithms. Basic software engineering using some of the tools the company uses.
* The problem is exactly the same for every candidate. This is essential; you need to be able to compare apples to apples. You can't use "real work" because real work is different every week.
* The stuff I look for is pretty mundane - can they name things sensibly? Do I have to push them or do they naturally drive out behavior with tests?
It takes 1-2 hours. It's partly a way of evaluating candidates, and partly a way of communicating "this is how we develop software at this organization". Some folks really respond well to it. Some don't. That's ok.
At the end of the pairing session. I know 100% if I want to extend an offer. I've gotten some really great hires out of this. My bad hires ended up bad for reasons unrelated to technical ability (like, their life was a trainwreck).
- sethammons 8y agoPart of the value of a real pair programming session is brainstorming and discovering together. That part can't happen in a known problem for the interviewer. How does that part play in on the interview? I like how you use a reproducible problem for comparison, a lot of advocates ignore that.
- swish_bob 8y agoWhen I do this, I'm pretty upfront that it's not going to be "real" pair programming, but you can come up with a pretty close approximation. As you do it more, with the same problem, you start to understand what questions to use to keep things from stalling, and when to make suggestions. It's not easy, but none of interviewing is easy, really. It's another skill you have to learn.