Last week I had a discussion with some of my colleagues about interviewing. As they have come from a computer science background, their questions consisted of things like showing how a linked list works, how to do bitwise operations, etc. I actually struggle with these questions as I don’t have a computer science background, I haven’t been in college for 16 years, and I pretty much haven’t touched this type of code in years since I’ve been doing Objective-C development. So do these questions help find solid candidates? I have no idea.
When I’ve interviewed people, I’m not clever enough to come up with this types of computer science questions, so I’ve taken different routes and try to get at how a person thinks and what they can learn. One of the most important things I learned in college was how to teach myself anything which has proven to be an asset. A number of years ago, I had an interview at Apple for AppleWorks and I basically didn’t get the job because I didn’t know C++. The next interview I went on, I don’t believe I was asked highly technical questions and was hired. Within 2 weeks, I learned C++ and was off and running.
There is no magic to interviewing and maybe computer science questions are great for candidates right out of college, but do they help adequately screen candidates? If the candidate gets the CS questions wrong, could a good candidate be slipping through the cracks? Possibly. I find that if I probe a person for specifics on what they have on their resume, I can get a pretty good idea of how the candidate will work.
To each his own; there are no right answers or formulas for finding and retaining good employees/contractors.
Yes, its always better to hire athletes. I have an article about this on my blog: http://www.opinionatedbastard.com/2011/06/hiring-athletes-instead-of-bigfoot/
Most of the tricky CS questions that places like Microsoft, Amazon, Google have made famous are used almost exclusively on recent graduates. I interviewed at both Amazon and Google recently and no one asked me any of those questions but I have 20 years of experience.
Hi Pierce,
That is a great article and very much to the point. I had an interview at Google a few years back for a contract position and was asked some pure CS questions even though I had more than 10 years of experience doing Mac development. While I was bummed about not getting it, it was for the best. I think a lot of companies are passing up good people just because they don’t have the exact prerequisites on the job description.
Although in the following article, Joel talks some about asking CS questions, I really like his approach to the interviewing process and agree with it completely. His take is that you want two answers from a candidate:
1. Are they smart?
2. Do they get things done?
The full article is worth a read:
http://www.joelonsoftware.com/articles/fog0000000073.html
I came across another article yesterday which is a lot more in line with what I’d be looking for when I interview. This article adds a few more items to what you list above. Definitely another good read.