A practical guide to building a list of interview questions based on your dream job criteria.
This is an update of a previous post: Questions I’m (also) asking at tech interviews
Let’s not kid ourselves, the tech interview process is rough. Being armed with a list of things that you find most important in a job, and questions for evaluating potential employers can simplify the process and provide more quantifiable data. Here are some actionable steps for defining your dream job, and creating questions that will help you evaluate your potential employers:
- Define what a “dream job” means to you, and write it down. Areas to think about could include benefits, company culture, engineering, and management. Examples: fully paid health insurance, company prioritizes internal advancement, a publicly accessible engineering ladder.
- How could this criteria or priority be demonstrated? Come up with a question or questions to reveal whether the potential employer fits the criteria.
- Organize the questions so that they are a useful reference when in the midst of an interview. For example, they could be organized either by the stage of interview, or by category of question.
Sometimes, one of the hardest things I struggle with in an interview is when it’s appropriate to ask certain questions. Some questions fit some stages of the interview process more naturally. Don’t ask the recruiter on an initial screening call deeply technical questions, and don’t ask engineers about things that are more suited to management or HR. Though I’ve listed the questions below in an order that roughly corresponds to a typical interview process, every situation is unique. If you feel a question is better suited at a different stage or with a different person, be flexible and adapt as needed.
- You may not need to ask all of the questions directly. I often find that many of the questions are answered through typical conversation.
- Don’t bombard your interviewer with questions — try to keep it casual and balanced. You want to have a conversation, not make them feel under attack.
- Copy this list, and modify it as needed to fit your personal dream job criteria.
- Before starting the interview process with each new company, make a fresh copy of the checklist, with a space to write their responses. This is extremely helpful when evaluating multiple job offers.
- Pro tip: In my personal copy of the checklist, I’ve highlighted my “have-to-knows” in red, and my “nice-to-knows” in blue, to make it easier to scan in the middle of an interview.
The following list is organized into sections roughly in order of the typical interview process, and the order in which it would be appropriate to discuss. Desired qualities or criteria are followed by one or more questions that will help reveal an employer’s stance on the subject.
Initial screening interview
Intentional interviews: A well-considered, unbiased, efficient interview and hiring process, with relevant technical challenges
- Can you tell me about how the interview process is structured? How many interviews are there?
- Tell me about your technical interviews. Do they reflect the work for which you are hiring? Have your current employees passed the same tests? Do they involve a live coding test, pair programming, a coding challenge, or whiteboarding? If they are more than 2–4 hours, are they paid?
- Do you follow the philosophy of cultural fit or cultural contribution? In other words, do you hire people that fit into the culture that already exists, or do you hire people that diversify your workforce, and bring in new ideas?
- What kind of steps do you take during candidate interviews to determine if they would mesh well with their new team? How do you determine how each side takes feedback, for example? Are there any obvious red flags?
- What efforts do you take to prevent unconscious bias from influencing who you will or will not consider for positions?
- How much of your team is remote or distributed?
- How do you support collaboration, communication, and community with your remote employees? Tools, apps, workflows for async communications?
- How do you ensure that remote or distributed employees are included in decisions and events, and aren’t treated as “second class employees” or afterthoughts?
- For globally distributed teams, how do you organize things like standups and company-wide meetings?
- Are salaries based on or adjusted for location?
Good work/life balance
- What are your core hours? (no core hours may suggest that employees are required to stick to a rigid schedule)
- What is a typical schedule for my position? What does the day/week look like?
Full match on retirement, flexible options
- What are your retirement planning options?
Excellent health insurance, fully paid for family
NOTE: even if the below aren’t personally relevant, asking about them normalizes it for individuals that do need the coverage, and encourages companies to consider and include the coverage
- Do you provide health insurance, and if so, how much of the premiums do you pay?
- Does your insurance provide mental health benefits?
- Does your insurance cover transgender health benefits?
- Can you tell me about your parental leave policy?
- Are there any incentives or discounts for physical wellness programs or gyms?
- What is the vacation/PTO policy? Does that include paid holidays?
- If PTO is “unlimited”, do you enforce a minimum vacation? How much vacation do employees typically take?
Home office stipend and/or reimbursement for relevant bills (internet, phone)
- Do you provide an allowance or stipend for equipment, or reimbursement for additional expenses remote employees may incur, such as internet or phone charges?
- Can you choose your own tools within reason?
- Is assistance available for co-working spaces?
Minimal travel (<= once a quarter)
- How often does this position require travel? Do you have regular meetups or retreats to work as a team?
Conferences covered (at least one a year, or a set budget)
- Do you cover conferences?
- How many conferences a year do devs typically attend?
- Are employees encouraged to speak at conferences? How do you support your speakers?
Interview with engineer/tech interview
Employees love their job
- What is your favorite part of the job? What is your least favorite?
- Why did you choose to join this company?
- What do you wish you had known when you joined this company?
- What is the coolest thing someone at your company has done lately? Is there anyone in particular you really look up to?
- What kind of things do team members do together besides work?
- What is the most surprising thing you’ve discovered about your company or job?
Actively diverse and inclusive
- What does diversity mean to you? How diverse is your team, compared to the rest of the company?
- What kind of diversity programs or initiatives do you have within the company? Does the company support any community programs such as WWC (Women Who Code) or GDI (Girl Develop It)?
- What positions do women hold on the team?
- Are employees encouraged to make suggestions to HR, to make the workplace more diverse and inclusive?
- Is there a clear and comprehensive sexual harassment policy, and are the employees clear on what is and is not acceptable in the workplace?
- Are you familiar with the term “psychological safety”? Is it something that your teams practice?
- Can you give me an example of a time you made a mistake, and what happened next?
- When something goes wrong, how do you handle it? Do devs get shamed for breaking the build?
- Is there a system for determining root causes of failure without blame, that assumes everyone has done the best they could when things go wrong catastrophically?
Encourages and fosters mental and emotional well-being
- Are curiosity and humility encouraged?
- Do you feel, in general, that everyone gives each other the benefit of the doubt? When there are disagreements or miscommunications, how are they resolved?
- Are you familiar with a “growth mindset”? Do you think that’s something that is common amongst your coworkers?
Social responsibility/responsibility to users
- Imagine that you’re building a social network that lets you find friends who are at the same concert, restaurant, etc. as you are; what kind of concerns might you have about the way this would work?
- 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?
Provides a service that makes the world a better place for their users
- Do you think that your product improves the lives of its users? What is your favorite part of how your app/service helps its users?
- What more do you think you could be doing to help your users?
Involved with community
- Is the company involved in the local community? In what way?
- Do you support local meetups, hackathons or teaching opportunities like RailsBridge?
Supports employee personal development
- In what ways do you support career development?
Supports work on OSS and side projects
- Do you, as a company, contribute to open source projects? Which projects?
- Do you encourage your employees to do so by providing time during the week to work on open source? Are individual contributors given credit for their open source work?
- Do you support and encourage employees to expand their skills with projects that are not related to their job, i.e., side projects?
Opportunity to learn and grow, and work on challenging but interesting problems
- What about my background/resume, etc. caused you to be interested in me? What are you looking for, from me? What would my work look like? How do you envision me contributing to your team?
- How do you feel you’ve grown as a developer and a person since you’ve been with the company (ie, technical and soft skills)? What are you most proud of, since joining the company?
Balanced meeting to work load ratio
- How often are engineers in meetings? How do engineers balance meetings with their workload?
- Do engineers regularly have the opportunity for solid blocks of time to focus on ‘flow’? Would it be unusual to schedule blocks of time each day to do so?
Opportunities for cross-training
- Are there opportunities to learn other technologies, such as server or backend?
- How many of your developers are proficient in multiple stacks?
- Tell me about how work happens from a high level: new feature added, bugs fixed, or tech debt tackled. Who decides what is going to be worked on, and what is the flow from that decision to the developer (ie, user stories, design, sprint planning, ticket assignment, qa, deployment)
- How are your teams structured? Project managers, tech leads, UX, QA?
- What tools do you use to manage projects and support?
- How do you balance support and feature work?
Well structured and supported team
- Tell me about the workflow from the perspective of an IC. When are tickets assigned, who assigns them, who is involved breaking a feature into subtasks and assigning points or hours, is there a dev workflow, code style standards, testing requirements, PR/gitflow, code reviews, QA
- How often do teams find themselves blocked during a sprint because not all of the specifications or resources are ready? (ie, not all UI assets are completed, server/API updates haven’t been made)
Good systems/best practices in place for code standards (design patterns, linting, etc),
- What would you say are the biggest challenges with the current codebase, as regards to architecture, patterns, tech debt?
- What sorts of things do you do as a company to ensure high-quality code and minimal code smell? Would I be able to see a code sample? Do you have a code style guide? Do you use a linter to enforce style rules?
- Do you test your code? What is your testing strategy (unit, UI, manual, automated)
- Tell me about your CI/deployment process? How often, what tools, who is responsible for what parts?
- Who writes the documentation for your systems and processes? How are workflows and best practices documented and enforced?
Constructive code reviews
- Tell me about how and when code reviews are performed? Who does the reviews?
- Are the coding standards clearly communicated, and are the engineers all equally held to those standards?
- Are the reviews constructive and objective? Is actionable feedback provided to the author?
- How is work assigned? Do senior developers have the majority of new features and more challenging assignments, or are junior and mid level developers given the opportunity to work on those assignments?
- How do you make sure that all code is understood by more than one person?
Strong communication and collaboration skills
- Would you say that your team actively practices empathy and compassion with each other and themselves when it comes to their work and communication?
- If you have multiple teams, how often do they communicate and collaborate? Are there any specific tools you use to help facilitate communication?
- When in meetings, sprint planning, discussions, etc., how do you make sure that all of the team members are involved and heard? Do you have tools in place to ensure that remote employees can communicate clearly, and be heard?
Interview with upper-level management
Healthy management structure
- How many teams do you have? What is the management structure like?
- Do employees have a clear idea of the company structure, and who to go to for help or guidance?
- How is performance evaluated? Code reviews, weekly one-on-ones, regular feedback, yearly reviews? What do the reviews entail?
- Are your teammates open to receiving feedback? Do you give and receive feedback often?
- How is negative feedback delivered? What opportunities does an engineer have to resolve the issue(s)?
High employee retention
- How many devs were hired last year and how many left, relative to total employee numbers?
- What steps do you take to retain employees with regards to promotions, salary, and benefits? Are promotions and salary increases based on industry standards?
- What was the typical reason that employees left? Do you think there was anything you could have done to retain those employees?
- What’s your retention rate of women over 1.5 years?
- Why have you chosen to hire externally for this position?
Transparent and realistic opportunities for advancement
- Do you have a publicly posted career ladder, competency matrix, or leveling guide?
- How do you handle advancement? For example, when do you increase responsibilities for a developer from junior to mid to senior?
- Did any of your senior devs start out here as a junior?
- Are promotions considered only on a predetermined schedule, or are they only upon request from an employee or their manager?
- If an employee requests advancement, how are they evaluated? If they are not ready for advancement, are they given the resources and support to reach the next level?
Transparent and reasonable salary bands
- Tell me how you determine salaries for employees. Are they commensurate with skill level, value to the company, tenure, industry standard, and location/cost of living?
- Do you publicly post your salary bands for positions?
Financial transparency and stability
- Are company financials transparent throughout the company?
- How do you make money? Are you profitable? If not, how does this affect what you can do? What’s your planned timeline for becoming profitable?
- How fast are you growing? How much are you planning to hire in the next year? How long is your runway?