Preparing for a Software Interview

Alvaro Videla
Don't Panic, Just Hire
3 min readJan 4, 2017

Every now and then we have to go to a Software Interview for a new job. We all know it’s a hard process and there’s no way around it, so instead of fighting it, let’s see what we can do in order to have a more pleasant experience for everyone involved in the process.

Photo credit: David Davies

Get to know the other person

The first mistake people make is to not learn enough about the person they are interviewing. Read their resume, google them online, see if they have a public profile where they share some of their work, like Github, or something similar. Take a look at their Social Media profiles, if available, and try to gain as much insight into the candidate personality, the kind of humour they have, and so on. For a candidate it’s very special to feel special, to feel like they are the only person applying for the job, and to feel that you care about them. Remember, you want to work with this person, fix bugs with them, do pair programming with them, have joint discussions about software architecture, and so on. So the more you make them feel welcomed, the better it would be should you end up hiring them.

Value the other person’s time

Something that many interviewers fail to consider is that attending your interview is not the only thing the candidate has on their plate for a particular day. They probably have a job to attend to, a family to care for, and basically a life to keep living. Perhaps they even have some other interviews to go at a different company. Make the time they spent with you count.

Also don’t expect people to spend a whole weekend on a coding exercise for which you are not going to even provide feedback later on. Getting the candidate to come work for you for a week to see if they are a good fit? Unless you pay for that work, that’s a no-no.

Be careful with your requirements

While working on open source projects is pretty cool, not everybody has the time or willingness to do it, and that’s fine. If you expect every candidate to have a super active Github portfolio, then you are missing out on great people that for various reasons might not be able to use their free time for Open Source. They might have kids to take care of, or maybe they like to go hiking after work as a form of unwinding.

Have a realistic setup

Do you write your algorithms in front of a white board, on a secluded room that has no internet access? No? Then why force your candidates through that. Prepare an interview that allows you to assess their skills and discover their passions without having to make them go through an unrealistic setup that will be nothing alike your working conditions. Remember, the candidate is also evaluating you and your company.

A two way road

Always keep in mind that this is a two way road. In the same way that you are evaluating the candidate, they are also evaluating you and your company. During the interview, you as the interviewer are the sole representative of the company. In the candidate eyes, the company culture and everything it means comes directly from how you are presenting yourself. Are you too arrogant? You didn’t prepare well enough and asked questions that are clearly explained in the candidate’s resume? They will notice, and they might decide not to work with you. Also they might discourage other people from applying to your company based on the interview experience.

If you want to hire great people, invest time in working on your interviewing process. That’s just another part of your business. In the same way you spend time designing your server architecture, or choosing the next framework for your project, you have to also work on tailoring the interview process for the people you would like to get in your team. Servers and frameworks come and go, but a new colleague is a person with which you will be sharing most of your time at the office and even lunch breaks. You want to enjoy working with them, and they want to enjoy working with you.

--

--

Alvaro Videla
Don't Panic, Just Hire

http://alvaro-videla.com/ Co-Author of RabbitMQ in Action. Previously @Apple @VMWare @EMC. All opinions are my own.