(Source: Chad Woolley posted this to the extremeprogramming-ML)
Here’s an interesting experience I had when interviewing for an XP
shop, and one I will definitely keep in mind in future interviews, whether
I am the hirer or hiree.
As part of my interview, I was required to sit and pair program for about
half an hour. We worked on an writing a unit test for an actual defect that
currently existed on the project (although it could easily have been a real
user story, or a contrived scenario if the project had not yet started).
I thought this was a great idea, and a great source of knowledge for both
sides. I was able to show that I did indeed know how to program, write unit
tests, knew my way around an IDE, had acceptable interpersonal
communication skills, etc. I was also able to get a different perspective
on what the team dynamics were like, which I could not have gotten from a
formal interview setting.
The interesting thing is that both me and my partner (one of the
interviewers) taught each other about some tools and approaches that we
were not previously aware of.
Even though I didn’t get the job (the position was withdrawn), I kept
in touch and became friends with the interviewer/partner, and the things we
taught each other came in useful in our future development work.
This company also asked for code samples and a mini-presentation, which I
also thought was a great idea for separating the wheat from the chaff.
Since I have had responsibility for helping interview, select and recommend
job candidates in the past, I know for a fact that the best resume and
interview performance in the world is inconclusive. You can still get a
lemon, even though the lemon may be very good at piling on the BS.
From my perspective as a job candidate, I am confident in my skills and my
abilities. I know that I can quickly adapt and excel in any position within
my skill set. However, its very frustrating when I cannot convince the
potential employer of this through only a traditional resume and interview.
In future interviews that I go for (which will hopefully only be with
XP/Agile shops), I am going to suggest this as a way for the hiring company
to get a better idea of my skills, knowledge and abilities, both technical
and interpersonal. If I am ever part of a hiring team in the future, I will
definitely propose that code samples and a pair-programming session be part
of the interview process for candidates who make it to the final stages.
This is admittedly very time-consuming, but probably much less net
investment than being forced to live with (or try to get rid of) an
employee who looked much better "on paper".