Switch jobs is an usual thing in the IT world. Know also if the company you're interviewing for could be a fit for you is imprescindible too. This is a list of questions that I like to ask; maybe more as a cheatsheet of things I'd like to know than a real list of questions.
Note:
- I don't ask everything written here always.
- I don't ask everything on the first interviews.
- Often, ask the same question to different people helps.
Engineering:
- How code reviews are done?
- Also, is usual to do pair programming/mob programming?
- How the code is tested?
- Involving test practices, test types, etc
- How the delivery/deployment process works?
- How failures are handled (bugs in production, for example)?
- Which is the seniority of the team?
- Which is the balance junior/senior?
- Which are the capabilities expected from an engineer in the company (specialization, hands on on everything,…)
Management
- How the work is assigned?
- How technical decissions are made and communicated?
- Involving architecture, infrastructure, etc.
- How priorities regarding product-techDebt-support are balanced?
- How often there are meetings in the team? How often there are meetings between other teams?
- How disagreements are solved in a team?
- Technicals and non-technicals
- There's on-call assignment? If so, how it's compensated? Developers are included on it?
- How is performance evaluated?
Quality of life
- How much vacation people get?
- If they're “unlimited”, how much vacations people usually take?
- Is the work schedule flexible or people are expected to work at fixed hours?
- Does the position require to travel?
Culture
- How does Ops/Devops/Infra works? Central team, responsibilities distributed in teams?
- You build it-you run it approach or Dev and Ops are separated?
- How big is the team? Where is it located? The communication is sync or async based?
- Do you have fixed salary tiers or negotiate with each employee?
- Is the position a new one or to replace someone?
- What’s the onboarding process like?
More to add…