I’ve had enough interviews over the last few years to realise that there’s a few different styles of interviewing out there, and they all suck.

  • There’s the “impossible question” style - Like The Barometer Question .
  • There’s the shocking “group interview”.
  • There’s the Phone Interview - where I usually end up going off on tangents, and talking for 50-90 minutes.
  • There’s the technical challenge interview, which vary between awesome and terrible, depending on how they’ve been implemented.

It’s the technical challenge I’m going to pick apart now.

The technical challenge for your recruitment drive should be based on real-life challenges you’ve experienced in the past. It should not be based on

  1. Things you’re not sure are possible.
  2. Things you don’t know the answer to.
  3. Things which aren’t relevant in the day-to-day business of the company.

It should not be a ‘closed-book’ test. I’ve seen some in the past that mark you down points if your mouse pointer leaves the browser-tab’s focus for a moment. Apparently “because you’re not supposed to use ServerFault.com. Well Excuse Me. I use serverfault, on average, 20-40 times a day. As Albert Einstein allegedly said, “I never commit to memory anything that can easily be looked up in a book.”

Just swap “in a book” for “by searching google” and you’re pretty nearly there. I consult manpages, and questions, and articles I’ve written, and articles others have written, and github, and Serverfault, and StackOverflow, and LWN, and so many more. I’ve never believed in closed-book tests, even from school-days. If you’re going to deprive me of my books and information sources now, what kind of working environment am I expect if I come and work for you?

A reasonable simulation of reality must be allowed. If I want a test server rebooted, you should allow me this. If I want to install software on the test server, you should allow me this too. Straight back to my earlier point of “well, what restrictions are you going to place on me in future”?

You must allow mistakes. Everyone makes mistakes. The only bad thing about making mistakes, is making the same mistake twice.

Making different mistakes is forgivable, and it’s the way humans work. I challenge you to find a person who’s never made a mistake. Good Luck With That.

I bet even you, oh high and mighty Interviewer have cocked something up in the past.

Are interviewers looking for the perfect candidate? One who’s never made a mistake? Well, tough shit, because that person doesn’t exist, either as a job seeker, or as anyone else on the planet.

More generally, here’s some things which would make interviewing/job hunting more friendly.

Off-the-record chat time with existing employees. I’d like to know, no-holds barred what working for XYZ Corp is actually like. I don’t want a manager, or recruiting manager present for these, I want to actually see what your current employees think of your company.

Clear indications of the company’s future. I’d like to know in detail, what you’ve been doing for the last 5 years, how your year to date is looking, what the plan is for the future. You’re investing in me as much as I’m investing my time for you, so I’d like to know what the future holds. You can bet your ass I’m going to dig you up on Companies House, so I’d like to think that your side of the story matches theirs.

No Bullshit Job Descriptions. There’s a lot of these about. Usually easy to spot because they’ve got buzzwords and keywords and jargon crammed in left right and centre. This gem was recently found by someone on Twitter:

“C++, Java, Scala, FPGA, .Net, F#, Haskell, Open Source, Unix, Linux, Hardware, Software, Computer Science, PhD, Msc, Masters, C++, .net C#, Java Developer Programmer, Quantitative Developer, Quantitative Programmer, Technologist, Developer, London, C++, Telecommunications, Gaming, Research, Micro-Chip, Electronics, Java, Scala, .net, F#, Python”

I can’t tell if that’s a job skills list, or a SEO consultant’s wet dream. That is so stuffed with keywords that it’s very difficult to tell what the buggery is going on. It’s also going to match all sorts of job searches. All they need to do is add in the term “NoSQL” and they’ve got a home run.

The upshot of all this is: If you’ve got a hiring process that makes me feel like I’ll be poorly treated if I did come to work for you, then I’m probably not going to come and work for you.

So sort your interview style out, and hopefully it’ll closely match a comfortable company ethic.