“What questions do you have for me?”

This is one of the most critical questions you'll be asked in a job interview. And it’s one that most candidates are unprepared for.

In 15+ years of interviewing, I would guess close to 70% of candidates haven’t asked a question when given the chance.

And those that do ask questions often ask generic questions, like “what does a typical day look like?” (by the way: never ask this question. Ever. More about this shortly).

Question time is your time to make a great last impression with the interviewer. Employers want to hire critical thinkers who can contribute beyond just churning out code. Asking great questions shows you’re thoughtful and curious about the position, rather than just looking for any job.

It’s also your chance to interview the company. When you're deciding whether to take an offer, the compensation is only one aspect of the decision, and the interview process is your chance to gather data to help inform your decision. Even if you’re open to just about any role, it’s great practice for later in your career, when you can be more discerning. So use the interview process to get a full picture of what it will be like working there; asking great questions is one of the best ways to get first-hand answers from multiple members of the team.

Here are 7 great questions you can ask, which go deeper than surface-level, generic questions.

Question 1: Understanding Day to Day

Bad: "Can you describe a typical day in this role?"

Very few programming jobs have a typical day, beyond the generic tasks that every programmer typically does, which you can safely assume are part of the role and therefore don’t need to ask about.

Better: "I’d like to better understand how the team actually works. Could you walk me through the work you did during the last week or last sprint?"

This question will get at more important things - teamwork, collaboration, how work is assigned and done, and invites you to ask a follow up like “how typical was this sprint?”

Also, notice how I framed the question with my goal of understanding how the team actually works. Sharing your goal helps someone come up with a better response.

Question 2: Next Steps

Bad: "What are the next steps?"

This question implies you’re ready to wrap up the conversation, and are focused on hearing whether you’re moving forward. Instead, use the opportunity to ask about what happens after you get the offer and join the company.

Better: "After the hiring process, what kind of onboarding should I expect, especially with regards to technical training or mentorship programs? How soon would you expect me to be fully ramped?"

This question also gives you a glimpse into how formal the onboarding process will be, vs. how much self-directed ramping you’ll be expected to do.

Question 3: Company Goals and Vision

Bad: "Can you share the company's long-term goals and vision?"

This is vague and implies you haven’t done a lot of research into the company, or any backchannel communications with current employees to try to understand the role and what the company does. It's a yellow flag when someone asks me this question during an interview.

Better: What are some of the key initiatives I might be contributing to, and what role do those initiatives have in the near-term goals and company vision?

This question focuses on the role’s connection to the company’s goals. It can help you understand how connected the team feels to the company's goals and vision, which can help you spot morale issues, along with how well the company communicates

Question 4: What Does Success Look Like?

Bad: "What key achievements would define success in the first 6-12 months?"

Generally, this question implies you’re looking to excel in the role. But this is difficult for most interviewers to answer because at most companies, priorities change. Instead, focus your question on performance measurement and how outcomes are assessed.

Better: "How does the team define and measure outstanding performance in the role?"

This question will be easier for the interviewer to answer. Instead of speculating, the interviewer can discuss concrete ways performance is measured and assessed. Quite a few organizations, especially startups, don't have a solid framework for assessing performance and providing feedback - many times this happens informally. While not a dealbreaker, it will be helpful to know this going in so you can set your expectations properly.

Question 5: The Most Important Skills for the Role

Bad: "What skills are most important for success in the role?"

It’s bad form to ask for information that is readily available to you as the candidate, because it makes you seem less resourceful. Every job description contains a list of skills, and in nearly every case, the skills listed in the job description are the most important, or at least the most important skills the hiring manager is thinking about when writing the job description.

Focus instead on the interviewer's experience with other developers on the team, and skills that have set them apart.

Better: "In your experience, what skills or traits have set apart the junior developers who have integrated and contributed to your team most effectively?"

Question 6: Biggest Challenges in the First 3 Months

Bad: "What are the biggest challenges I would face in the first 3 months if hired?"

This question sounds better than it actually is. Nobody has a crystal ball that will tell them about the biggest challenges you’ll face. People are better at analyzing what’s happened rather than speculating on a future situation. Ask them to share their insights instead of guessing what’s ahead.

Better: "What are the common challenges junior developers face when they first join the team, and how does the company support them in overcoming these?"

Again, this asks the interviewer to talk about cases they've experienced, which will generally be much more accurate and easier to answer.

Question 7: Promotions

Bad: "How does the company handle internal promotions and career advancement?"

Better: "What pathways for career advancement exist for junior developers within the company, and can you share any success stories of developers who have advanced?"

In an interview, you want to avoid sounding like you're actually not that interested in the role, or worse, that you'll be pushy when it comes to promotion and compensation. The "better" version frames the topic as exploratory - it shows you're interested in learning how things work and how you can succeed and advance in the role within the company's framework.

Context is Crucial

Asking great questions isn’t just about having a good list of questions. You have to choose the right questions based on the situation.

Consider who is interviewing you and what kind of question they’re likely to give a good answer to. Don’t ask someone who isn’t the hiring manager or recruiter about next steps or benefits. Don’t ask the recruiter about the tech stack.

This way, you'll improve the quality of information you receive, and make a better impression with the interviewer.

Bonus - Turning Around an Interview

As a bonus, here are some questions you can use as an alternative or supplement to those above. These are pretty good as a final question, or if you've had a tough time reading the interviewer, or if you feel like the interview hasn't gone particularly well.

"Based on our discussion, are there any skills or parts of my experience you'd like me to delve deeper into?"

People generally want to avoid conflict and avoid giving negative feedback. This question allows the interviewer to revisit an area where they may have more questions without feeling like they're being confrontational.

"From a technical standpoint, where do you see the biggest gap in my experience, and can you recommend resources to help me improve in that area?"

This question creates a safe space for the interviewer to give some feedback on areas where you didn't perform well, or where you don't seem as strong. In some cases, you may have a chance to provide more context or a better answer to set the record straight.

"Are there specific skills you're hoping the new hire will be proficient in that we haven't discussed?"

In most cases, different members of the interview panel will be responsible for assessing different skills within the candidate profile. This question might give the interviewer a chance to share some of the skill areas they're hoping other interviewers will cover in depth, so you have a chance to prepare. Additionally, this may allow the interviewer to revisit an area where they aren't 100% convinced in your skills.