Over the past few years I’ve been lucky enough to interview hundreds of programmers through a mixture of phone interviews, face to face technical grillings and paired programming exercises. It’s a hard process but we’ve hired some incredible people as a result.
I’m sure that there are some people we interviewed who didn’t make it through our interview process simply because they didn’t know how to how to give the best impression of themselves, and not due to a lack of talent. They did not prepare. The fact that you’re reading this already sets you out from the crowd, and you’ve probably already read a number of “How to ace the technical interview!” type articles. I think these ideas are fairly well covered off, but what no one seems to have covered is the things to avoid; the silly things that people do that instantly mark them down into “no” territory. If you can safely avoid the following landmines then you are giving yourself the best opportunity to get your job.
Trying To Guess Answers When You Haven’t Got A Clue
This might sound obvious but it’s incredible the amount of people who try to make up answers to questions they don’t know the answer to. It’s understandable, no one wants to look stupid, and people are afraid of admitting the don’t know everything. The simple fact is that there is a HUGE world of technology out there, and it’s ok not to remember anything. If I have asked a question then I know the answer, and if you don’t I will be able to tell. You’re going to look stupid. Conversely anyone who says to me “I don’t know” for an answer instantly gets brownie points. You can still follow that up with “but I’m happy to try and figure it out if you would like?”. Then the interviewer gets the chance to see you analyse a problem you’re not familiar with.
There is a slight extension to this; don’t lie on your CV. If you’ve listed 40 technologies you’re proficient in then you should expect to answer deep technical questions on them. If you used it once ten years ago then you’re going to look stupid when you tell me you don’t really know about it despite it being on your CV.
You Keep Talking And Talking And Talking
There’s something about interviews that tends to give people verbal diarrhea. Previously I have asked a candidate about Spring and then been treated to a 20 minute monologue on teh subject. One of the most important skills for a top tier technologist is being able to concisely explain things. Try and keep your answers down to under a minute; if you’re worried you’ve not gone into enough detail then just ask “is that ok or would you like me to continue?”. This gives a clear point for the interviewer to interject. Chances are that they will use this as an opportunity to point the conversation down a different tangent.
This advice applies for programming interviews too. When you’re coding it’s a good thing to explain what you’re doing to the interviewer so that they can understand your thinking. However, understand what has value in being expressed verbally; I don’t need you to tell me you’re writing a for loop or what a for loop does.
Appearing Bored, Standoffish And Uninterested
It never fails to astonish me how many candidates come into interviews and just seem totally uninterested in the process. They completely lack enthusiasm and act as if the interview is below them. If you’ve come for this interview it’s because you want or need a new job. At least come in and have some energy! Tell me you’re excited for the interview, or nervous, or any emotion you care to think of. People have egos. They want to know you care about them and their role. It’s shallow but it really makes a difference. Make your interviewer feel special.
When it comes to the actual interview I don’t need someone to recite their CV to me, or quote from the documentation. The best candidates have opinions on everything subject and each question gives you an opportunity to express that Whether you like it or hate it doesn’t matter, it’s the fact that you care about technology.
Don’t Bother Preparing For The Interview
If you’ve ever done a technical interview you know what sort of questions are going to get asked for at least 70% of it. They’re going to ask you questions about collections, they’re going to ask you questions about threads, and they’re probably going to ask you about a couple of technologies on your CV. Yet most candidates land and still can’t explain the difference between an ArrayList or a LinkedList or tell me how to create a Thread. Any candidate who has spent a 5 minutes looking for java interview questions will be able to answer this. If you’re going through the interview process then take the time to spend 10 minutes every day looking at core questions and subjects. You’re instantly putting yourself ahead of most candidates.
Acting Like A Robot
The classic interview advice is to act polite and professional during interviews and maybe to engage in a little small talk. Have you ever spoken to people like this? It’s boring! Interviews are not just about ascertaining your technical prowess. If you get the job your interviewers are going to be working with you day in, day out for years to come. Getting the right personality fit for a team is just as important as getting a coding wizard.
When going through a technical interview you should be looking for opportunities to connect with your interviewr. If there’s time at the start of an interview when one of the interviewers is late then use it to have a conversation, talk about something geeky or a cool project you’re working on. Try not to force it in, just talk like you would to any other geek or colleague about things. One of my favourite tips is to ask questions back during the interview. If get a question about your thoughts on a technology, give them your opinion and then ask them for their opinion. It’s fine if the interviewers views differ from your own as it means you can have a discussion. Whenever candidates have done this I’ve always come out thinking favourably of them; even if we don’t agree then at least they’re really keen to find other peoples opinions and have a discussion. That is what a good technologist looks like.
Conclusion
None of what I have written above is revolutionary, but it’s advice that most people don’t think about. Making a good impression is hard and technical interviews are really difficult, but if you can follow the steps above then you’re already putting yourself ahead of most candidates in the market.