Skip to content

Instantly share code, notes, and snippets.

@mattvanhorn
Forked from jvns/interview-questions.md
Last active January 4, 2016 04:39
Show Gist options
  • Save mattvanhorn/8570360 to your computer and use it in GitHub Desktop.
Save mattvanhorn/8570360 to your computer and use it in GitHub Desktop.

A lot of these are outright stolen from Edward O'Campo-Gooding's list of questions. I really like his list.

I'm having some trouble paring this down to a manageable list of questions -- I realistically want to know all of these things before starting to work at a company, but it's a lot to ask all at once. My current game plan is to pick 6 before an interview and ask those.

I'd love comments and suggestions about any of these.

I've found questions like "do you have smart people? Can I learn a lot at your company?" to be basically totally useless -- everybody will say "yeah, definitely!" and it's hard to learn anything from them. So I'm trying to make all of these questions pretty concrete -- if a team doesn't have an issue tracker, they don't have an issue tracker.

I'm also mostly not asking about principles, but the way things are -- not "do you think code review is important?", but "Does all code get reviewed?".

Some things I haven't found a good way to ask about

  • Who decides what features get built?
  • Who are the people at your company with a lot of depth of experience? Will I be able to talk to them?

Engineering practices

  • What do you use for version control? (if nothing, the interview should be over =))
  • What kind of testing do you do?
  • How do you make sure that all code is understood by more than one person?
  • Do you do code review? Does all code get reviewed?
  • Do you have an issue tracker?
  • Describe your deployment process -- how do you find bugs in your team's code? What recourse do you have when you find a serious bug in production code?
  • Who is responsible for doing deployment? How often do you deploy?
  • How do you think about code correctness?
  • When something goes wrong, how do you handle it? Are there consequences for breaking the build?
  • How/when do developers talk to non-developers? Is it easy to talk to the people who are will be using your product?
  • Can I see some code the team I'm interviewing for has written? (from an open-source project you work on, for example)
  • How do your engineers keep their skills sharp? Does the company pay for conferences/seminars/books/etc?

Quality of life

  • How much vacation do people get? If there's "unlimited" vacation, how much vacation do people normally take?
  • Is it possible to take sabbaticals or unpaid vacation?
  • How many women work for you? What's your process for making sure you have diversity in other ways?
  • How many hours do people work in an average week? In your busiest weeks?
  • What time do people normally leave work?
  • Would I need to be on call? How often?
  • How often are there emergencies or times when people have to work extra hours?
  • Does your company support continuing education? (will they pay for employees to do a master's degree?)
  • What is your turnover rate like? How many devs were hired last year and how many left?
  • Do people work on the weekend?

As many of these as possible are "statistical" questions -- a company may say that they "don't have hours", but if everyone leaves at 9pm that's not a good sign.

Community involvement

  • Do you contribute to open source projects? Which projects? Which teams work on open source?
  • Do your employees speak at conferences about your work?
  • Do you offer paid time off to contribute effort to charitable causes?

Culture

  • How do you determine if someone is a poor fit for your company?
  • How are your teams structured? What is the management structure like?
  • How often do you pair? What's pairing like? How often do inexperienced people work directly with experienced people?
  • What's the onboarding process like?
  • Is there any sort of institutionalized way of dealing with plateauing or preventing burnout? (Expecting to hear about rotation of duties or location, sabbaticals.)
  • Is it easy to move to other divisions or offices?
  • How does internal communication work? This one is super important and I need to remember to ask it more.
  • Are there catered suppers? (possibly bad)
  • How many hours a week does senior management work? Do they put in 80-hour weeks?
  • Are remote work places or flexible hours encouraged or discouraged?

Financials/business model/growth

Things to look for in real life

  • How is the office space physically organized?
  • Kitchens and bathrooms offer a great view into how much a company really cares about employees.

Interviewing is hard! Ultimately I really just want to know

  • do people treat each other well?
  • do you work reasonable hours?
  • do you care about the work that you do, and keep trying to do it better?
  • do you only hire excellent human beings?
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment