6 Questions to Ask When You Interview for a Software Development Position

Wednesday April 25, 2018
Software Development

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.

What types of computers do your developers use?

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.

What are the expectations for off-hours work?

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.

What is the process for getting code reviewed, merged, and released?

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.

How do you test the software you develop?

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.

How is developer work scheduled and managed?

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 is an example of a project I might work on?

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.

So… Will you like the job?

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!