“I just got interviewed by a noob!”
Thursday 24th July, 2008 @ 12:26 am
At my awesome new job I’ve had the luck of giving technical interviews to our software engineering applicants.
I’ve really enjoyed the process and been doing quite a lot of reading from wise people like Joel Spolsky on the type of things that you should and shouldn’t be asking in an interview.
Two of the most important things Joel emphasises are that it is essential to have an applicant writing code in the interview and that you are better to not hire a good software engineer than hire a bad one. Thankfully our judgement has seemed good on the latter as everyone working at Mendeley seem to be not only great people but all of our software engineers (including me!) are really passionate about writing software that is more than just “good enough“.
I’ve found Joel’s first point an interesting conundrum. How should you get people coding in an interview? Obviously I’m not going to detail our exact interviewing process on my blog but I personally believe that getting the applicant to write out a solution to a simple algorithmic problem on paper (while you watch them) is a great way of seeing how they approach a problem, how quickly their mind works and how careful they are with validating their requirements. It’s interesting the sheer variation in the above exercise from people with very similar academic backgrounds and length of experience, even when asked a very simple algorithmic problem.
It’s an interesting experience as an interviewer looking at personally appeals to me about a candidate. This is by no means an exhaustive list or even that all of these indicate a good software engineer but just my own thoughts:
- A very solid technical understanding is obviously crucial. On these lines, however, I think it is important to not oversell yourself. Nothing is worse than someone claiming to be an “expert” in a technology and they don’t have more than a basic understanding of it. If your understanding is basic and you’re being interviewed, that’s ok. Just sell your other attributes. If it was a requirement, you wouldn’t have got this far!
- If there’s one thing I think is the number one attribute in a software engineer it’s the drive to learn new technologies and techniques. If software is clearly more than just a job to you and you are reading software blogs, listening to software podcasts or contributing in OSS outside of work, chances are you are going to take more pride in your work than someone to writing software is just a 9-5.
- No matter how good someone is technically, if they aren’t going to fit in the team then they shouldn’t be hired. The last thing you want is a new member disrupting the social dynamic of a group of people that currently get along. I think everyone wants to work with people that they’d be happy to talk to outside of work so if you’re a likeable person than that reflect well on you.
Also, as an interviewee I’ll share some of what has annoyed me in interviews:
- If you don’t ask me any technical questions, you probably have some software engineers in your team that suck at programming. I don’t really want to work with people like that.
- Please don’t keep me waiting for weeks only to tell me I didn’t get the job based on something that I said in my original CV/cover letter I sent to you.
- If I don’t get a job I want constructive criticism so I can improve myself.
I try to keep the latter points in mind when interviewing people so as not to annoy others as I was annoyed.
I’d be grateful for anyone else’s input as either an interviewer or interviewee.
Let the argument commence!
Posted in My Life, Software Development









2 Comments »
Steve Yegge writes great about interviewing. Here is his latest post - but look in his archive.
http://steve-yegge.blogspot.com/2008/06/done-and-gets-things-smart.html
Best
Anders
Comment by Anders — Thursday 24th July, 2008 @ 2:11 pm
No matter how good someone is technically, if they aren’t going to fit in the team then they shouldn’t be hired.
You’re right in that the overall productivity of a team can be affected by a person’s personality. You’re also right in thinking that if a personal fact is actually relevant to the job, then it’s not discrimination (e.g. male-only job postings for airport security friskers).
If someone comes across as an insufferable arrogant asshole, yeah, you probably shouldn’t hire them. But chances are that call is illegal. If your ex-candidate then turns round and sues you because he thinks he was being discriminated against for being an insufferable asshole… Seems kind of insufferable and assholish to me.
Comment by Patrick — Saturday 26th July, 2008 @ 10:53 am
Leave a comment