I’ve worked as a programmer for 15 years. Some jobs required a technical interview and some didn’t. I’ve had 10-12 true technical interviews, landing about 7 of those. With the exception of one interview, here is a list of things I was never asked to do in any of those interviews:
- Program a computer
- Operate a computer
- Estimate a programming task
- Improve a piece of existing code
- Solve a small but useful problem (i.e. not fibonacci or binary search)
- Learn something new
Number one is especially vexing. Why would you give a technical interview to a computer programmer without having them program a computer? Madness.
I say that and I mean it. But I am also guilty. I’ve been the hiring guy too. It just didn’t occur to me. Or it seemed impractical. Or I didn’t want the candidate to feel uncomfortable. Excuses.
The job is to program and operate a computer. And to solve problems by programming and operating a computer. And to learn new things to solve problems better, by programming and operating a computer.
To interview someone who does, you must see them do.
In the spirit of the Joel Test, I offer the above list as the Official International Test for the Technical Interview. Unlike most evaluations in an interview, this test evaluates the interviewer. Give yourself 32 points if you covered the first item, 16 for the second, 8 for the third, etc.. Add ‘em up. Did you score below 32?