There will always be a point in every interview, whether it’s a phone screen or on-site interview, where you’ll be asked if you have any questions for the interviewer. You should definitely prepare a list of technical and non-technical questions and topics, and hopefully each interviewer will leave at least 10 minutes to go through some information with you.
Avoid questions like “how big is the company” or “how long has the company been around” – you should already know these answers from doing homework on the company before you ever decide to apply.
Here are some examples of questions you can ask depending on whether you’re talking to a manager or an engineer at the company.
This is a great phone screen question for a technical manager or HR person. How they answer it should trigger one of two follow-up questions.
If the position is replacing someone else who left the team, ask if they can speak to why the person left the company. Often, this can’t be answered (especially by HR folks) due to privacy concerns regarding personnel, but sometimes managers will slip and give you some information. Listen carefully to the words they use to determine if the person left on good terms or not. If they say something like “they wanted to pursue other things”, then that might be a signal that the company was unable or unwilling to accommodate a coworker’s desire to grow in a particular area of technical skill.
If the company is simply adding people to the team, ask the manager about the engineering roadmap: what kinds of projects is the company taking on that requires more people? Will new hires be added to the new projects, or will new hires maintain legacy systems and other developers will be rotated to the new projects? Or perhaps a mix of both? If the company is willing to let new hires work on new projects, it can lead to older employees feeling disgruntled, but hiring new employees to maintain legacy systems while old employees get to work on new things sometimes causes a lack of knowledge transfer. Hopefully the company is willing to balance new hires to both new and legacy systems or provide a rotation.
It is VITAL that you do not phrase this question in any way that sounds like “how often can I get a performance review so I can get a raise?” You MUST convey that getting strong mentorship is extremely important to you early in your career, and that you’d like to ensure regular check-in meetings with your manager every two weeks or so especially in the first three to four months to ensure everyone is happy with growth and progress. Good managers meet with their employees every two to three weeks anyway, sometimes more frequently depending on the employee and circumstances.
I love asking this question to other managers because it either makes them smile or roll their eyes. Software estimation is hard, and we engineers are usually quite bad at it. At the very least, you’ll break the ice a little. At best, you’ll learn some good information about your future coworkers.
There are other examples online for good questions to ask management. I also like to adapt some of the “Joel Test” questions to discuss things like testing and quality checks on the way to deployment.
You’ll always get more honest answers from another engineer outside of the office environment which is why I love tracking down employees at meetups. All the same, I like to ask engineers some of the same questions as managers, because I can usually draw my own conclusions if I read between the lines on both answers.
Just like asking a manager, sometimes they can’t or won’t share information regarding a replacement role and why the other person left, but sometimes employees will give up more information about previous employees. Be careful to listen for language that gives an impression that the person left because of problems with management.
It’s also vital to ask engineering employees if they know whether new hires will work on new systems, legacy systems, or both.
This question can be very telling for how respected employees feel by management. It’s also important to tell whether there’s any hesitation in answering which could signal some dissatisfaction between the engineer and their management.
I also like to ask this of engineers on the team because their answers are usually drastically different than what the managers tell me.
This is something that engineers will either love or hate and can also be very telling about the company’s work practices. Can engineers deploy their own code? How often? What is their most/least favorite thing about their workflow?
TODO draft:
Prepare two or three ‘go-to’ questions that demonstrate you prepared in advance and your strategic thinking. There’s a difference between “Tell me about the culture” and “Tell me about how major decisions are made here and provide an example of a recent decision and the process used.” Or, “I read that the organization is changing its strategic direction. How will that affect this business unit?” Avoid questions where answers are on the website.