Last Updated: February 25, 2016
· priestc

Questions to ask during developer interviews

I'm pretty much a professional interviewer now. I've been doing tech interviews pretty much constantly for the past few months. I've made a promise to myself that even after I get a job, I'm still going to continue interviewing.

The reason why I've been interviewing for so long is because I'm so bad at interviewing. When I first started programming, I was terrible at it (just like everyone else when they first started programming). I got better by programming a lot. Apply that same logic to interviewing, and I will get good at interviewing if I do it a lot.

Being good at programming is pointless if you can't get a job doing it. Having great programming skills goes completely contrary with having great interviewing skills. I've had co-workers who could pass any interview you put them into, but couldn't code their way out of a paper bag. I'm quite the opposite. I can solve any technical problem, but can't interview my way out of a paper pag.

Currently the thing I'm struggling with is the concept of asking the interviewer questions. At the end of the interview, the interviewer asks "do you have any questions for me?". In the past, I've always answered "nope, not at this time", because I'm usually so nervous and uncomfortable (because I suck at interviewing), and want to just get it over with. Also, when you're a beggar (unemployed) you can't be a chooser. I've actually never done a job interview while employed, so I've never had the luxury of having to turn away an offer for employment.

Another reason why I'm not a fan of the "reverse interview question" session is that most fo the things I care about, can not be explained in words. The things I really need to know can only be answered by looking through the code, by browsing through the bug tracker, and by sitting with the team over the course of a week.

Over the past few months, I've slowly gotten better at coming up with things to ask during this portion of the interview. At first, I would just ask a bunch of random questions that I really didn't care knowing the answer to.

An example being like "What text editor do the majority of your programmers use". This sounds like a good question to ask because... well I don't know why, but it just sounds like the kind of question one would ask of their prospective employer. But the thing is, I don't care what other people use as their text editor. Nor do I care about most other typical "reverse interview questions".

Here is a list of some questions I've forged together that I now use when I'm asked "do you have any questions for us".

  1. "What does your backlog look like?" - Great companies have a backlog full of philosophical tickets. Bad companies have specific technical problems. Believe it or not, the best companies of all don't even have a bug tracker. I dont even use a bug tracker for any of my personal problems. When bug comes up, I fix it immediately. I have no need to track bugs. I've never seen a company that doesn't use a bug tracker, but if I ever found one, I'd be more impressed than revolted.

  2. "What do you look for in a great developer" - I want the interviewer to explain to me how he is judging me. What is he looking for. What traits is he looking for? The simpler the answer, the more clueless the company is. The more intricate the answer, the more better the company is. I think about eh concept of "what makes a great developer" almost every day of my life. I feel like I could write an entire volume on the subject. I'd expect them to say something along the lines of "Does things more than talks about things". The best developers do, the crappiest developers talk about doing.

  3. "What do you look for in a great manager" - Managers are essential to a great software development team. A manager-less team is a team that is not performing at is peak efficiency. To me, great manager is someone who has great people skills, but not necessarily great programming skills. Requiring a manager to have exceptional technical skills is lik requiring a pitcher to have great hitting skills. I want to work for a manager who spends his days managing, not burying his face in a technical problem.

  4. "What database are you using, and why did you pick it" and/or "What language are you using and why did you pick it" Again, I'm really not looking for any specific answer, I'm looking that they put some effort into their decision. I am especially interested in their answer if they are using MongoDB. I've seen far too many companies use Mongo and not be able to communicate why they made that decision. "Because we want to eventually be webscale and SQL is not webscale" is a huge red flag.

If I could boild my question list down to a single maxim, it would be "the questions that I wish the interviewer would ask me". My questions are very open ended and philosophical, which is a stark contrast to the direct and closed ended fizzbuzz-type questions I usually get asked.