A curated, categorized list of questions that you may want to know the answers to before accepting a job offer in the software or IT field.
- What version control system do you use? Can you explain your branch management strategy?
- Do you test your code? Can you describe your typical testing plan?
- Do you use continuous integration tools?
- Do you employ continuous delivery / deployment strategies?
- Can you explain what your release and deployment processes are like?
- Who is responsible for doing deployment? How often do you deploy?
- How do you make sure that all code is understood by more than one person?
- Do you do code reviews? Does all code get reviewed?
- Do you have an issue / feature tracker? How is priority managed?
- How do you find bugs in your team’s code? What recourse do you have when you find a serious bug in production code?
- Are Clean Code values important to your team? How is that institutionalized?
- When something goes wrong, how do you handle it? Can you tell me about a time when something went wrong?
- How and when do developers talk to non-developers? Is it easy to talk to the people who are or will be using your product?
- Can I see some code the team I’m interviewing for has written?
- Who are the people at your company with a lot of depth of experience? Will I be able to speak with them?
- Who are the newer people at your company? Will I be able to speak with them?
- What’s your approach to technical debt?
- How does engineering work get assigned? Which development methodology do you practice? Can you explain it?
- How do you balance support work and feature development?
- Can you give me an example of someone who’s been in a technical role at your company for a long time, and how their responsibilities and role have changed?
- Do you have a dedicated designer? QA engineer? Technical writer? Development manager?
- How often do you have meetings? Are there any scheduled/standing meetings?
- Has there been a situation where someone raised an ethical concern? If so, how was it handled? If not, have there really not been any?
- How are decisions, technical and non technical, made? Is architecture dictated top down? Are ideas from anyone welcomed? If so, in what scope/context?
- How are disagreements solved - both technical disagreements and other kinds? What happens when personalities clash?
- Can you tell me about a time when you’ve had to let someone go?
- Is there a written roadmap all developers can see? How far into the future does it extend? How closely is it followed?
- How is performance evaluated? How often?
- 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?
- What’s your process for making sure you have diversity in your workforce?
- How many hours do people work in an average week? In your busiest weeks?
- Is schedule flexibility tolerated or is everyone expected to be on the same schedule?
- What time do people normally get to work? 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 are asked to work extra hours?
- What is your turnover rate like? How many devs were hired last year and how many left? Do you think you could’ve done anything differently to keep people who left?
- Do people work on the weekend?
- Do people check in when they’re on vacation? How often?
- Is it possible to work from home? How often? Does anyone do this?
- Does this position require travel? How often?
- What is your biggest pain point of working here?
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.
- Do you contribute to open source projects? Which projects? Which teams work on open source? Do you work mostly in the community or do you have a private fork?
- Do your employees speak at conferences about your work? Can you tell me about one of these times?
- Are there any local communities you support?
- Are employees encouraged to go speak at conferences?
- Do you cover travel to conferences? How many conferences a year do developers typically go to?
- Does your company support continuing education or provide tuition reimbursement?
- In what other ways do you support career development?
- What does the first week/month/90 days look like for a new employee?
- What are some of the challenges you've seen new employees struggle with?
- How do you determine if someone is a poor fit for your company? What does a good fit look like in your mind?
- How are your teams structured? What is the management structure like?
- How often do you pair program? How often do inexperienced people work directly with experienced people?
- What’s the onboarding process like? How long does it typically take?
- Is there any sort of institutionalized way of dealing with plateauing or preventing burnout? Rotation of duties, sabbaticals, etc.
- Is it easy to move to other divisions, teams or offices?
- How does internal communication work?
- Do people often eat meals at the office? Is it ever provided by the company?
- How many hours a week does senior management work?
- Are senior managers accessible to developers?
- How formal is the office environment? Will jeans and a tshirt be acceptable? If not, what is considered acceptable?
- Do you allow remote work? Are you a remote-first company?
- If you allow remote work, how do you support remote workers and make sure distributed teams are effective?
- What are some common qualities of the top performers in at the company?
- What are some of your favorite perks of working at the company?
- What is the turnover like at the company and the team I'd be joining?
- Are you profitable?
- If not, how does this affect what you can do? What’s your planned timeline for becoming profitable?
- How do you make money? What's your elevator pitch?
- How much are you planning to hire in the next year?
- Are company financials transparent throughout the company?
- How is the office space physically organized? Is it an open environment? Do developers get offices?
- What type of hardware is provided? How often is it upgraded? Is it a company-wide standard or is it customized for the group/team?
- Are developers allowed to use whichever tools they need for the job? Will the company provide funding for these tools?
- Can I install the software I need myself or does an "IT Department" need to do it? Do I have to fill out a formal request?
- Can I choose my own hardware, OS, and software?
- How often does installed software, firewalls, proxies, etc. get in the way of you doing your best work?
- How formal is the office environment? Will jeans and a tshirt be acceptable? If not, what is considered acceptable?
- Can you tell me about how the entire interview process is structured? How many interviews are there?
- How often do you offer above asking? Can I speak with someone who got such an offer?
- What do you wish you had known when you joined this company?
- Why did you choose to join this company? Why are you still here?
- What’s the single biggest issue or problem facing the team/department/company? What’s currently being done to address it?
- Is this position newly created or a backfill? If backfill, why did last person leave? Would I be able to speak with them about it?