When interviewing with a company, it's important not only to pass the interview, but also to get as much information about the company so that we can choose the best place to work for us.
Besides obvious things like salary, paid time off, and other benefits, there are a lot of other things to pay attention to: company culture, engineering culture, product that the company is building, career opportunities, and many more.
Below you will find my video where I talk about 3 stages of the reverse interview, and later in this article you will find a list of questions you can ask. I recommend you to create your own list based on what is most important for you in a company, and use the list below as a reference.
I keep updating the list, so make sure to check out this page in the future again. By the end of 2021 I plan to have 50+ questions here.
One more tip before the list - ask questions that are as specific to the company/team/product as possible. The list below is obviously very generic, because its goal is to be a base for all companies, but you should make them more specific. Let's say you're talking to Shopify about joining their internal tools team, instead of asking "what is the plan for the next year?" you can ask "what are currently the biggest problems for developers at Shopify? How are you planning to address these problems?"
Company culture & compensation
- Question: What are working hours? Are they flexible? Are there any core hours?
🚩 red flags: strict hours, low flexibility
- Question: Can employees work remotely? Can they work from anywhere?
🚩 red flags: no flexiblity, or "for now from home, we will see once pandemic is over"
- Question: How often do people work overtime? Are there crunch periods? How often?
🚩 red flags: regular overtime and crunch time, working 50-60 hours a week
- Question: How does the company keep employees motivated? Does the company measure employee satisfaction?
🚩 red flags: no answer or very generic answer
- Question: Does company offer equity/profit sharing? How does it work?
🚩 red flags: no equity/profit sharing or very low amount, short exercise window, unusually bad terms like most vesting happening in 3rd/4th year (that suggests company uses it as a way to keep employees who otherwise would leave)
- Question: What is the performance cycle and when do people get raises?
🚩 red flags: lack of formal performance reviews, irregular raises (it often means people don't get a raise unless they ask, and that raises don't depend on performance)
- Question: Why is the company hiring - is it a new position or a replacement?
🚩 red flags: a larger number of people leaving
Engineering & product
- Question: How often is the product released?
🚩 red flags: low frequency of releases (or when talking about web app, any releases that are scheduled instead of done when feature is complete)
- Question: Can any engineer deploy production? How complex is release process?
🚩 red flags: releases done only by team lead, any release process that requires more than 2-3 steps
- Question: Who contributes to the backlog?
🚩 red flags: no input from engineers (it means low importance of maintenance work, quality work etc.)
- Question: What is the next major milestone for the product?
🚩 red flags: product in maintenance mode, no roadmap, no vision
- Question: How is testing done? Do developers write tests? Are there dedicated QA engineers?
🚩 red flags: no automated tests, no dedicated testers
- Question: Who do developers report to?
🚩 red flags: devs reporting to non-technical people like project managers
- Question: What version of language/framework does the company use?
🚩 red flags: relying on old versions that have reached or are about to reach end of life
- Question: Can programmers use their preferred OS and code editor?
🚩 red flags: forcing people to use a specific OS or coding environment (especially having to connect to use some remote virtual desktops)
- Question: Do teams have flexibility in their processes?
🚩 red flags: no flexibility, forcing people to work the same way across the whole organization, using pseudo-Agile frameworks like SAFe
- Question: What are further opportunities for this role? What is the next career level?
🚩 red flags: no specific answer, unclear answer (unless you talk to early stage startup where things are still undecided)
- Question: Does the company have career ladder and skill matrix?
🚩 red flags: no skill matrix (for larger companies), no career ladder (for any company)
- Question: Does the company have an opportunity to progress as an individual contributor?
🚩 red flags: no opportunity, or no clear answer (it means that management is the only way to progress beyond certain level)
- Question: How does the company help developers grow their skills?
🚩 red flags: no answer, or something like "we have self development budget" (I'll explain that in another article, but this is red flag because the companies offer money, but not time, so people don't use that money)
- Question: Does company offer any mentorship, internal or external?
🚩 red flags: no mentorship (except for small companies that don't have such capabilities)
- Question: What are the growth plans for the engineering team/department?
🚩 red flags: no plans, no growth, plans to reduce team and outsource work
- Question: What does the promotion process look like?
🚩 red flags: no process (except for small companies, promotions are quite ad-hoc there)