• Wierdest interview I ever has was only about my second job after finishing my degree. The boss turned up an hour late and the only thing he seemed interested in was whether I liked Frank Zappa. I did, so I got the job. In hindsight I wish I hadn't accepted it as it turned out to be an unmitigated disaster. Still, you live and learn.

    I have an unusual interview technique I use which some here might find unreasonable but I'd defend it to the hilt. I get two sets of lego containing exactly the same pieces. I sit in one room with a pretty random shape pre-built out of one set of lego and have the interviewee sit in another room with the other set - connected by hands free telephones. The interviewee can ask any questions they like and they've got 20 minutes to build the shape I pre-built, which is waaay too short a period for them to actually complete the task (it takes alot longer than you might think). This is actually a great test because it reveals so much about the interviewee that I believe is crucial to a good programmer. Particularly around the "softer" skills I'm typically looking for. Do they panic? Do they give up? How do they communicate? Do they ask open and closed question to understand the problem? Do they make assumptions or fully clarify the goals up front? Do they take a methodical aproach? Do they think logically and try to break the problem into smaller chunks? I'm not cruel, I lay the basic premise out in front of the interviewee before hand and what my expectations are. I tell them they probably won't finish and I just want them to get as close as possible.

    Technical skills are pretty easy to test for, you just ask some technical questions. And knowing your syntax off by heart isn't really what makes a good programmer, it's about having a flair for problem solving. Those soft skills can be damn hard to test for and this is the most effective way I've ever found to do it.