Wednesday April 25, 2018
I recently completed a job search where I had the pleasure of interviewing at several companies. Throughout the process, I developed and refined a list of questions to ask the companies I interviewed with.
I’ve also spent a lot of time on the other side of the interview process, and I’m often surprised when the candidates I’m interviewing don’t have any good questions prepared to ask me. They should want to know how we do things here! Asking good questions during the interview process helps both parties find the right fit, so I decided to share some of the best questions I’ve found.
Obviously, there’s a pretty big difference between developing on macOS or Windows, and many developers have a strong preference for one or the other. Hopefully you already have an idea what the answer to this one might be before you get too far into the interview. But it’s also good to go a little deeper - what kind of hardware do developers get? Are they using SSDs? Does the company buy licenses for IDEs and other tools? You might not want to work for a company where you won’t have the tools you need to be great at your job.
Will you be on call 24/7? Are there late-night or weekend deploys? How often? Most companies have some kind of off-hours work for their developers, and it’s good do know about it up front. Going into the interview, think about what your own expectations are for off-hours work and how much you’re willing to compromise.
The answer to this question will have a huge effect on some of your primary responsibilities, yet the way these processes are handled varies greatly from company to company. Will you be creating pull requests on a private Github repository? Or will your code be stored on a shared file server without version control? Does the company use continuous deployment, or will your code sit for a while and be deployed as part of a later release? How long are the release cycles? The answer to this question can be complex, but it’s a good question to ask because it can give you a lot of insight into the company’s processes. In fact, this is one of my favorite questions to ask during an interview. It lets a company show off their strengths, but also exposes some of their weaknesses, and it can be an entry point into a discussion about what value you might be able to provide as a new employee.
Is there a QA team? Do developers do their own testing? What is the balance between unit and integration tests? There are pretty big differences between the way different companies test their software, and again, this can reveal a lot about the company. What are your own beliefs about testing, and how much are you willing to deviate from those? For me, it’s a big red flag if there’s little to no unit testing. This question is a great follow-up to the previous one, and can lead to a broader discussion of testing practices.
Many companies use Scrum, Kanban, or some other agile methodology. Some companies aren’t agile. There’s no “correct” answer here, but it’s still an important interview question to ask because it has a big effect on your day-to-day work. Going into the interview, you should at least have an idea of what is involved in some of the most common development methodologies so you can have an intelligent conversation about it.
What will the balance of front-end vs back-end work be? Does the type of work you’ll be doing align with your interests? Many companies list open roles as generic “software engineer” positions. It’s important to gain a little more insight into which technologies you’ll be working with on the job so that you can make sure you do something you enjoy. Often, there will be differences between your initial perception of the company and the type of projects you might actually work on, and it’s important to talk about those.
I like these questions because they are all designed to help you get a better idea of what you’ll do on a daily basis at your new job. It’s surprising to me how little people sometimes know about the position they’re interviewing for and the responsibilities the position entails. Hopefully these questions can be the seed of some useful and productive discussions throughout your interview process, and lead to a job you really enjoy!