Interviews are not one sided. It often seems that way since the power dynamics typically skew towards the interviewers over the interviewee. They have the final say and you’re trying to impress them, right? Well, not entirely.
Companies of course can’t force you to join. In fact, there’s a lot that needs to be agreed upon by both parties before hiring. You as the candidate have to be won over to work there, even if it feels like a no brainer sometimes. That means you should know what you’re signing up for, beyond when to show up and how much you’ll earn. An interview is your opportunity to ask questions of your own about the role, so it’s essential to be gathering information of your own during the evaluation. Why is it so important to do so early on – couldn’t you wait until you’ve received an offer first? In short, there’s a lot of value in asking up front.
During the interview, you have the chance to talk directly to the hiring manager, who may be your manager in the role, plus coworkers that may be both internal and external to your team. Being so close in proximity, they can give you insight into the tech stack, company culture, and opportunities to introduce new tech. It may seem odd to ask, but phrased correctly, you should feel comfortable to also ask about some of the downsides to the role or the organization. It’s the difference between “What are some of the things you wish you could improve in your company?” versus “So what sucks about being here?”.
Waiting to ask questions from the recruiter after the offer is a lost chance to ask directly from people who know more closely some of the nuances to the position. Regardless of whether they’re in house or external, they will want to reel you in by painting things in the best light. Interviewers, while wanting to bring you in as well, don’t do so necessarily as a financial reward and tend to give more direct insight unless they’re getting a referral bonus. In that case, they should be typically excluded from the panel. In all likelihood, they probably know you already and have been hopefully giving you a look behind the curtain outside the panel.
Remember too, your time is extremely valuable. When job hunting, it can feel like a lot of it boils down to hurry up and wait for your phone to ring, to receive an email, or to get a thumbs up for a role. During that time, though, you’re doing a lot of preparation. Sometimes it’s brushing up on some skills or putting together a cover letter, but it can also be working on good mental health self care. If you’re putting yourself through several interviews with a company, only to be disinclined to join far down the road, that’s time and energy you could devote to finding the role that’s right for you. Optimize for focusing on positions that will match or exceed your expectations and exit early if they don’t meet your standards.
Finally, asking questions can show deeper interest in wanting to work for a given company. A good interviewer or interviewing panel will give candidates the opportunity to learn more about the company from people with first hand experience. This isn’t just a stalling tactic to buy time should an interview slot run long or technical questions wrap up early. You’re being given a chance to follow up. Passing on that can be a signal to interviewers that you’re not as enthusiastic about the role as you could be. That can be off putting to an interviewer, who is using their time to find quality folks to work with. Of course, you may have asked all of your questions of people who have come before, which is ok. If you think there are questions that could use a different perspective, you can ask again, or you can list out some of the questions you’ve asked and see if they have further insight you might not be aware of.
Thinking of questions on the spot can be challenging. You’re under a time crunch and you’re looking to spark a conversation with a lot of people you’ve just met. You’re also might not be as focused on some of the fine details of a company if your head is swimming from working through technical interviews. Skip that burden by putting together a list of questions to ask ahead of time. Should you be unable to ask them all due to time or think of new ones at a later point, that’s ok too. In that case, you can wait to hear about an offer before opening up a continued conversation.
If you’re struggling to think of questions to ask, here are some discussion points to work from. There are more questions here than can be answered in one time slot or even a whole panel. There’s also no requirement to asking them. Pick a few that you feel personally intrigued by that will help inform your decision about potentially joining the company and highlight them in order of interest.
- What can you tell me about the technical stack here?
- Why was X language chosen as the primary for building the site?
- Are other languages in frequent use?
- What’s the process for introducing a new language, datastore, or other technology as part of the stack?
- What have you struggled with as part of your development process as you build new features?
- What’s your deployment process for shipping code to production like?
- If you could snap your fingers and make something happen, what changes would you like to see in the technical makeup of your stack?
- What’s your process like for writing tests? Is it built into the timeline for development?
- What are the bottlenecks in scaling for your app/datastore/endpoint/etc.?
- Are there preferred editors, operating systems, and coding standards in place?
Social and Cultural Questions
- What part of your work like excites you the most? (Getting your interviewer to share that offers a really strong positive feedback loop that self reinforces!)
- What’s the average make up of experience with engineers here? Does it skew more senior, more junior, or is it balanced?
- What’s the development process like? How do you handle:
- Sprints, milestones, or other markers to note progress?
- The planning phase for a new feature?
- When dates on a project slip?
- Timeboxing bug fixes?
- What processes are in place for mentoring the growth of and sponsorship to promote engineers?
- Do you offer sponsorship to attend conferences, locally or remotely?
- What can you offer in terms of learning services to grow engineers, be it books, training, or videos that can be reimbursed by the company?
- After an unplanned negative event – a system outage, a broken feature, etc. – what does the process concerning an after incident review look like?
- What are your favorite things about working here beyond the tech?
- What are your least favorite or need the most improvement?
- How do you handle code reviews? Architecture reviews? Operational Reviews?
- How often do people get together outside of the office?
- What’s your policy on 20% time to work on adjacent projects?
- Do you have a tech blog (and if not, is there opportunity to start one)? If so, what’s your process for writing a post to it like?
- (Updated, from Dan Miller) What concrete steps are you currently taking to improve diversity?
The above is the current version of a section in my book on interviewing for technical roles. I’m trying to help out with any advice I can while I’m putting all of this together. As part of that, I’m looking for constructive criticism and feedback alongside it. My experiences as an engineer are also not universal and so my own biases will creep up in my writing. With your input, I’m hoping to refine my own writing to help other folks out. If you’d be so kind to offer your advice in response, I would love to hear it.