#GettingBetter at Interviews: Important Q's to Ask During your Developer Job Interview
Tags: career, codenewbie, programming, beginners
Published: 2022-11-28 00:37:57

Getting your first job as a junior software developer is often an incredibly stressful and emotionally taxing process, as is interviewing for developer roles. There are frequently multiple rounds of interviews with a number of different people in a company, and it was hard know what to expect from company to company and when I could expect a technical interview versus a recruiter interview, for example, so that I could prepare as efficiently as possible for the appropriate stage of interviewing. While I was going through my own process of securing my first job in tech, I came up with a list of questions that were important to ask to show that I was engaged in the interview and get the information I needed to determine if the company was a good fit for me. 

Over time, I learned some questions worked better at various stages of the interview process or with specific people in the hiring chain. I'd like to share those questions with you and provide some basic illumination to what interviewing for a developer role looks like in the first place, so that you might better prepare for your own interviews and land that first role in tech. And really, this list isn't just useful for entry-level roles, but, rather, many of these questions can be adapted and used throughout one's career.

First off, it's worth mentioning what a full round of interviewing often looks like in the first place. If you have not yet worked in tech before, the duration of interview phases is robust and the process unknown before you go through it a few times. Generally, there will be 3 to 5 interviews to get through before you know if you have an offer or not. (It's a lot, I know!) The first interview often will either be with a technical recruiter if the company is large enough, or it might be with someone from HR if the company is smaller. Occasionally, I've had my first interview be with the direct hiring manager though!

The next step in line is often with the hiring manager, who you would be reporting to on a team. Sometimes, this phase will include a technical exercise small enough to be explored in the course of the 30 or 60 minutes scheduled that day ("whiteboarding"); sometimes, it will be more of a getting-to-know-you interview with some technical questions peppered in along the way. 

Rather than doing "whiteboarding" live with a hiring manager, some companies prefer to give take home coding problems that can then be reviewed and discussed at a later stage of interviewing. Occasionally, the technical portion of an interview could be working on an additional feature or bug in the code you come up with after a couple of hours of working on a take-home challenge. (Make sure not to spend _too_ much time on these - no more than a couple of hours!) Occasionally, (_really_ good, imho,) companies will have you work on a current problem or bug they have in an existing live project with them, both to give you a real example of what you could be working on and to see what you can do.

There is also often a portion of interviewing where you get to meet other developers on the team. Sometimes this can include some technical pairing work. If you get to meet other potential team members, this is a great opportunity for you to get a feel for how they feel about their role and the company, and to see if you "vibe" with your possible future colleagues. 

As I said before, different companies have all sorts of ways to run interviews, and there is certainly variation in the order of which interviews are done when, but the above outlines a pretty common trend of interviewing scenarios right now. 

Now for those questions - let's dig in! 

---

## (Often Preliminary) Interview with the Recruiter

The main priority for you is to get a general feel for the company culture, structure, etc. For the recruiter interview, you want to focus on simply proving you’re a human who is pleasant enough to talk with, can work with others, can do the basic requirements of the job, etc.

- What is the company culture like? What is your favorite thing about the company culture? 
- Is this a new role, or one that already existed? If the latter, what are you hoping to see from the next person to fill this role that was missing in the last? 
- What is the current market/audience of Company Name? What is important to those users/customers?
- Where do you see the company heading in the next few years?
- What is the organizational structure at Company Name? 
- How big is the IT/engineering department? 
- (You should already have an idea of who the executive/board level leaders are, but ask something like…) What are the top priorities and values of the upper leadership for the company?
- What are the major projects the engineering team is working on?
- What is the tech stack?
- Is the work environment collaborative or independent
- Transition to covid - how has that been? What has that looked like for the company? 
- From what you know about the role, what are the characteristics of someone who would succeed in the role?
- What does success look like for this role?
- LAST AND INCREDIBLY IMPORTANT QUESTION - What are the next steps in the interview process? (You will want to get as clear of a picture for the remaining interview stages as you can so that you know what you need to prepare and when. Honestly, this question is valid to ask at the end of every interview stage; altering this question slightly to confirm what you understand the next phase of the interview is also valid.)

---

## Interview with the Hiring Manager/Dev Team

Wherein the most important objectives are to demonstrate competency for the position, your humanity, and where you will typically discuss some technical topics. Your objectives are to dig into getting a better feel for what the engineering department/team is like, what your manager would be like, what the work you’d be doing would be like day-to-day, as well as to demonstrate to the hiring manager that you are pleasant to work with and capable. Remember that capable doesn't always equal "can do the job in full down to the letter"; capable almost always encompasses "can learn and grow within my role" as a developer. Since there are often more than one interview rounds with technical folks, I will break up these questions as needed between interviews. 

- What tech stack do you work with? (It's OK to repeat this question from the interview with a hiring manager; more often than not, the hiring manager will be more technical and have more accurate and more specific information about the tech stack than a recruiter will, but you still want to make sure the basics of a tech stack align with what you're looking for in a first interview with a recruiter to make sure the job is a good fit for you.)
- What does the day to day look like?
- What are the major goals and projects for the engineering department/team? What projects would I be working on?
- Top goals for my first 3 months / 6 months / 1 yr
- Is this a new role, or one that already existed? If the latter, what are you hoping to see from the next person to fill this role that was missing in the last? 
- How is my performance evaluated? What are your practices around performance reviews (how frequent) and code reviews?
- What does the promotion cycle and process look like? What’s the average time someone spends working towards a promotion?
- What is your management style? 
- What kind of mentorship is available to me as an associate dev, and how is that executed day to day? 
- Walk me through the process of an engineer picking up a ticket to getting code merged into production.
- What's a mistake that you made during your time on the team? How was it handled?
- What's the median age that a PR is open for?
- What does the onboarding process look like? 
- Any pair or mob programming? How frequently? 
- What is the feature release schedule like? Any important annual dates to be aware of?
- Who is responsible for the UI/UX design and how are those design goals relayed to the engineering team? 
- How does testing/QA work? What kind of testing (TDD) is required?
- What kind of security practices do you require or request for the engineering department? 
- What kind of accessibility practices do you employ, or standards that you set around accessibility?
- What is the current market/audience of Company Name? What is important to those users? Who is the company trying to reach through marketing? 
- What does a career trajectory look like at Company Name? What do I need to accomplish in order to grow my career?
- Transition to covid - how has that been? What has that looked like for your team?
- VERY IMPORTANT Q (use at tail end of interview) - What would I need to accomplish for this to be considered a successful hire?

---

While thorough, this list is not exhaustive. It can give you a very solid place to work from for interviewing for dev jobs though. With many interviews being virtual nowadays, I am in the practice of pulling up my Google Doc of interview questions on one of my screens next to my virtual interview space. This helps me to stay on track and not forget any important questions while I'm trying to keep my cool and manage any nerves that inevitably arise. 

Shout out any additional questions you have found to be valuable to developer interviews in the comments to keep this list going! :)