Are there tricks to interviewing to get good candidates?
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.