How Should You Interview a Programmer?
phamlen asks: "Having hired several programmers who haven't worked out, I'm wondering if other people have better success with interviewing techniques. Usually we have a two 'technical interviews' and a final interview. The technical interviews tend to be a combination of specific technical questions ('Is friendship inherited? How would you find out?') and algorithmic ('Given the numbers from 1-10 missing one number, how do you find the missing number?'). In addition, we essentially try to interview for: intelligence/performance. technical skills (algorithmic, etc.), and team compatibility. Unfortunately, we've been burned a couple of times by people whose performance didn't measure up to what we expected from the interviews. So I'm wondering if other people wanted to share their interviewing tricks - how do you find out if someone is a good programmer?" Surprisingly enough, we've done a series of these, so if you are interested in similar questions for sysadmins,
network engineers, or the one who will follow in your footsteps, then we've got it covered. We've also covered core IT questions as well. What special ways do you have of evaluating potential coders? How well have they worked out?
This was a second step...
Here is the order:
1) Introductory interview - they turn on their BS detectors, ask a few standard questions and then call me back later.
2) I show up again, they give me some written tests to take home and some verbal tests on the spot. I bring sample code.
3) They call me back one last time, give me the profile (they hire an outside company to do the tests, btw, they don't perform them). They ask some more questions - more in depth with specific technical questions.
4) They call me and give me the job.
The fact is, they wanted to hire somebody smart. I did not have all of the qualifications (i'm originally a hardware programmer - now I do business apps) but since I was honest and showed my potential, I received the job.
Robots are everywhere, and they eat old people's medicine for fuel.
I don't know what survey your employer used, but you spent some effort to complete the survey, expecting that a well-designed system would evaluate some qualitative aspects of you. When presented with results, you subconciously hoped to be:
- described accurately
- described favorably
This subconcious desire on your part made you willing to forgive minor points that didn't fit your desired outcome, and willing to magnify points which did fit the desired outcome.Again, I don't know what survey you used, and there certainly are valid personality tests out there, but don't get too freaked out when one seems to describe you to a T.
I don't think doctors usually see patients for fun after work hours. I do, however, think that doctors talk to their friends and family about medical concerns, and help them see that they're getting appropriate care... except possibly for doctors who are incompetent or really hate their discipline (maybe they only went to med school for the money).
Fact is, while certain factors (such as marital status, religion, age, etc.) cannot by law be considered as factors in hiring, employers in all fields *do* ask about professional association memberships, related volunteer work or internships, and so on. In some fields, if you haven't done any work for free, there's no way in hell you're going to get paid for work (see: Entertainment Industry for further information). The fact that someone has not contributed to any Open Source projects does not mean they are a bad programmer, but those that have probably will be more enthusiastic about their work, and have more easily verifiable skills.
Don't you wish your girlfriend was a geek like me?