Joel recently posted "
The Guerrilla Guide to Interviewing
" on his site, and it describes almost
perfectly the whys and wherefores of my own interview process. This isn't too
surprising, since Joel and I both started at Microsoft a few years apart and in
teams that were not so distant, so we probably both got very similar kinds of
indoctrination. I don't follow every point that he outlines, but it's pretty
close.
I'd have to say that even after eleven years at Microsoft one of the hardest,
hardest, hardest things to do is follow his dictum to Make A Decision.
Most people at Microsoft are generally nice people who want people to feel good
about themselves, so even at a company renowned for its hard-headed
competitiveness people are sometimes very reluctant to say "no hire"
about someone if they managed to seem not totally unqualified. Case in point, at
the beginning of the summer we did a round of interviews for summer interns, and
one of the interviewees was a very nice guy who seemed pretty smart but wasn't
so strong that he just jumped out as an obvious intern hire. For various reasons
I had to call the recruiter before I had the chance to write up feedback in
email and they asked, "So, is it hire or no hire?" And my immediate reply?
"Well, I think he's kind of a weak 'hire'." The recruiter was good enough to
shoot back, "What does that mean?" and I came to my senses and said "Oh,
yeah, right. Sorry. He's a no hire." As they say about pregnancy, you can't hire
somebody "just a little bit." Either they're working for you or they're not.
There's no in-between.
Any time I start to get mushy on this point, I just remind myself of an
experience I had a long time ago, back when I had done only a few interviews and
was very insecure about making hire/no hire calls. My group at the time was
interviewing for a position that had opened up on our team, and we interviewed
this guy I'll call Fred. Fred's resume looked good, with lots of relevant
experience. He sailed through the coding question, no problem. However, during
the interview something nagged at me about him, something that was just not
right, something that made me doubt that he was going to be a good hire for the
team. Being young and insecure, I overrode my concerns and gave him a 'hire'
recommendation. Everyone else on the team who interviewed him gave him a similar
recommendation, and he was hired.
As it turns out, Fred was a disaster. I realized later that my nagging doubts
had probably been caused by some subtle negativity on his part towards his
current management during the interview. Once he was on the team, this subtle
negativity blossomed into a full-blown bad attitude towards authority in
general. As far as I could tell, Fred didn't really give a crap what
other people thought he should be doing or how they felt about what he was
doing. As you might imagine, this made the quality of his work wildly uneven and
also made him a generally unpleasant person to work with a lot of the time.
Somehow this had worked out OK on his previous team, but it didn't fly so well
on my more functional team. Fred's tenure with the team was not that long,
thankfully, and after he left the team most of his code ended up being tossed
out of the product and completely rewritten (much of it by me).
In the end, no permanent damage was done, but it was a very valuable learning
experience for me personally. The experience taught me that the most important
thing you can do in an interview is Trust Your Instinct. Had I listened
to my instinct, I could have perhaps questioned Fred more closely about his
views on management. Or I could have raised red flags that later interviewers
could have honed in on. But I didn't, and I (and the rest of the team) ended up
paying the price. So now when I interview people, I look at the resume, I look
at the coding question, I look at all the other factors Joel outlines, and then
I do a gut check: is this someone I can see working closely with for the next
three years? If they fail the gut check, that's usually a pretty good indicator
of a "no hire" recommendation.