Programming job interviews

I did many programming job interviews in my life. I did about 10 interviews on the interviewer side and around 25 interviews on the interviewed side. These days, I am on the later side of the fence.

Guy getting ready for an interview by Ian Warner

Guy getting ready for an interview by Ian Warner

What I still found amazing is how different they all are from each other. You would have thought that they would standardize the whole thing and publish it so that employers would base themself on it. No. It seems like everyone has a different taste for those things.

The main reason I did so many interviews is not because I am a bad employee that keeps getting fired or leave his job easily. The main reason is because of the process used by the intership program of my university. You are required to go through a bunch of interviews before attending a complex matchmaking process that tries to find the most desired matches. It was a good experience just for the fact that you get prepared for real job interviews later on.

Alright, back to my point. The differences are huge. For intance, in one interview, I had to create a tree-like storage database schema on paper. In another one, I had to answer some general psychological questions that did not have any relation to the job. In another one, I had to create a simple pseudocode function to sort a list. I had to solve some logic puzzles in some kind of IQ test in another one. For a big and well known game studio interview, I had to answer to some extensive C++ questions that were all corner cases and create a simple card game. In many of them, I only had to answer the general basic questions of the “structured interview”.

If you do not know what is the basic structured interview, you should search for it on the web. It covers the usual questions like “Why should we hire you?” or “What is your best quality?”.

The last time I was the interviewer for a programming job, I had an evaluation grid. It was not perfect, but I think it was useful. I think a programming job interviewer must cover at least those questions.

  1. Does the candidate know about programming?
  2. Is the candidate able to apply that knowledge to a problem and find a solution?
  3. Is the candidate able to concretize that solution?
  4. Does the candidate fit in the team?

No matter what is the path being taken, I think those questions must each have a resounding yes as the answer at then end of the interview.

The first question depends on what kind of programming job the interview is for. If you are doing a C++ programming job interview, I guess that the candidate should know about pointers, object-oriented concepts and templates.

For question 2 and 3, I think a simple programming test could do the job. I am still amazed to see that most programming job interviews do not include a programming test. When I was the interviewer, I did not have any programming test. Looking back on that period, I think I should have had one. It is a first and quick look at the candidate ability to program which will probably be his main task.

Question 4 is a tricky one. It is really hard to get to know someone and find out if he or she would fit in your team in a short time like in an interview. Personality questions are a good starting point but you really have to live or work with someone before you get to know him or her. I have known couples who discovered new aspects of their partner’s personality 20 years after their wedding. An hour long interview is nothing compared to that.

Programming job interview is not something easily done whether you are the interviewer or the candidate. Everyone needs to get ready for that crutial moment.

Post a Comment

Your email is never published nor shared. Required fields are marked *

CAPTCHA image