I was wondering if anyone else had any questions they always asked the interviewer in the “we’ll give you five minutes at the end to ask us questions” bit in interviews.
Personally I always ask what the staff turnover rate is. Mainly because in my first dev job I was one of four people who started on the same day. One of the other guys left after two days, I left after six weeks, and another guy left after two months.
Another I’ll be asking after my current job is if they have a mainframe. I’ve now worked at three companies with mainframes and they all were old corporations where they were outsourcing loads of stuff to unhelpful companies (often IBM) which generally meant lots of headaches.
Here are some from a text file I keep around for these purposes:
- What has your team been working on recently? What new changes have you shipped in the last six months?
- What is the biggest difficulty your team is facing right now?
- How long has the team existed and how long have you been managing it?
- Is the team all remote? Are you?
- How long does it take for code to be deployed after being committed?
- How often do team members move teams?
- What kinds of (soft or hard) skills do you need most on the team right now?
- Do you have a defined onboarding process?
- How long does it take for people to get up to speed as new hires? How much would a new hire be doing in six months?
- Does the team maintain deployment infrastructure? Production infrastructure? Is there an on-call rotation?
- What does your planning cycle look like? Scrum? Kanban? Meetings?
- What’s one thing you would change or improve on the team if you could snap your fingers?
- What would you like to be doing less and more of on your team?
- How does the product representative interact with the eng team?
- Do you have a career ladder, with levels, and expectations at each of the level defined?
- What is your performance review cycle like? 1:1s?
These are all great. I’ll be saving these in a file next to my resumes.
lots of questions, I haven’t moved jobs in a while because I’m happy where I am but I’ve added to these even when interviewing people to join my team.
- what is your policy for overtime or comp time when there are evening or weekend emergencies?
- how often do people tend to need to be available outside of standard working hours?
- what does success in this position look like for me 6 months down the road?
- how often do tasks and priorities change last minute?
- how long has the average person been on the team?
- what is the policy on sick days, vacation days, etc
- what is the remote work policy
- how flexible are they on work hours? if it’s a salary position, generally you will have work to do, but many bosses won’t care if you take a 2-hour lunch and do some grocery shopping or whatever. as long as overall you’re doing your work and getting things sorted.
- when interviewing with team members instead of just the new management, it’s a good idea to ask them about the managers style, and what they like about working there.
- (generally by the interview you should have some idea of what the actual job entails, but if not, ask a bunch of questions related to that. what kind of system are you developing for, is it primarily supporting new feature or handling sustaining issues, what languages are used, what is the environment, etc)
Over here, it’s customary that some HR rep tells you most of that. There usually is a handbook with all the rules, so they know it by heart.
A question I find important is financial stability and outlook. How is the company doing? How’s the market? What’s the prognosis for staying afloat? Are they sure it will survive 1 year? 2 years? 5 years? These questions have different answers for different stages: a startup’s outlook can be determined by the need for VC capital, an established small-to-medium sized company depends on the state of the economy, so buffers are important.
Even if HR is supposed to answer that I’d still ask the people doing the work. Often HR have a rose tinted view of things compared to the reality that the developers see. I remember having an exit interview where I told HR how bad things really were and they just refused to believe that it was real because no one had told them.
As for financial stability, I’d rather look at things like crunchbase or some finance website just to find the details. I’ve found a lot of people working for a company will put a positive spin on everything because they’ll often be trying to convince themselves they’ve made a good choice to remain at the company. Essentially, it’s a sunk cost fallacy.
I like to open with “I know crunch happens. It’s part of our industry. How often would you say crunch happens here and when it does happen, how long does it last?”
At bad companies, they’ll justify how crunch is unavoidable but don’t worry, their stock is gonna make you Rich™. At good companies, they’ll crunch a couple times a year, for a week, maybe two. At the best companies, they’ll talk about how their Process eliminates crunch time.
I’ve asked this question ever since I interviewed at a place where the lead dev had a cot in his office.
Here’s a few from me:
-
How many separate projects are developers working on at any given time? (Because I want to know if they expect developers to be context switching all the time.)
-
Is anyone sitting there with a stop watching checking what time I get into work in the morning? (Because I’m not hourly and don’t expect to be treated as such.)
-
Describe the work-life balance.
-
Are you agile? Not agile? Scrum teams?
-
What might an average day look like for me? Walk me through from when I sign in and log off for the day.
-
How do you perform automated testing here? (if they don’t, I’m concerned)
-
Do you enforce code formatting?
-
How do you deploy your code? (if it’s not a CICD pipeline, I’m concerned)
-
How involved in DevOps are developers? (Will o be expected to work on CICD code? Infrastructure as Code?)
-
What version control system do you use? (Of the answer is nothing, the interview is over. I will not work there. If it’s something other than Git, I’m not excited about it.)
-
Is Docker used here? (Docker makes me very productive, I’m concerned if Docker is a tool I’m not allowed to use.)
-
Are there any other programming languages I’ll be using other than <advertised language for the position here>?
-
Are SOLID principles common practice here? Or rejected as unnecessary? (I love SOLID and think it’s useful much more than not. If SOLID is frowned upon, I probably won’t be happy there.)
-
Can I choose what sort of machine I get to work on? (If I can’t work on MacOS, it could be a deal breaker… I love MacOS for development, sue me! 🤷♂️)
There are places that hire developers, but don’t use a version control? I’m so shock at this.
For agile thing. I would ask them to describe how they do agile also. You can have a waterfall that called agile as well. Or Agile that estimate ticket with time instead of complexity.
Yeah, there are. There are places that don’t use CICD, don’t use TDD, don’t consider DDD beneficial, don’t like to have development teams talk to product/sales/users directly… all of these are massive, horrible red flags.
I work as a pentester in a medium-sized company, and since it was my first job, I didn’t realize for years that we’re actually not using VCS for any scripts or internal development. Even though I work on a hobby game project, and have used it for my personal project ever since highschool, I just for some reason didn’t realize it. Maybe because I wasn’t doing much internal developemnt, or that we didn’t share scripts that much and usually just used tools off github anyway.
But then I switch to part time, and got another part-time in a small indie studio, and we used VCS for everything. And that was when it hit me - I was supposed to develop a script for something in the pentest job, and since I was by that time pretty used to “first, make a repo.”, I started looking for one without a second thought. And realized that no, we don’t have any kind of company git and it was never needed.
I still don’t get how didn’t I realize it sooner - by that time I was there for 3 years. And it was suprising that noone, including seniors with decades of experience, ever saw the need for it. I guess it’s because we usually work alone on projects, or onsite, and since we are doing announced tests with AV disabled, there’s no need to recompile or edit open sourced tools, so there’s not that much to share.
We still don’t have a repo, but all of my tools or scripts related to work are on github now, which we share with a few colleagues.
But how does your team collect works as a reference or whatever? Like just upload then to the cloud or something?
We have a shared drive for that, on a VPN.
Believe it. The world runs on garbage software. 🌎
I guess asking for version control is the reverse-interview version of coding FizzBuzz.
-
I’m not a manager but sometimes get roped into interviewing candidates, I really like when they ask the following because it opens up a discussion about “pace” of the team and organization of the department. It also sets the expectations.
What are your expectations of me after 1 month, 3 months, 6 months, and 12 months of bringing me onboard?
In fact, I like this question so much that I’ll answer it at the end of the interview even if not asked, I just feel more awkward doing so inorganically. Sometimes we are back-filling a position and the new hire needs to own features by 6 months. Other times we are hiring to expand, in which case there is more runway. Bottom line is, we can discuss if both parties are comfortable with expectations because we want our candidates to succeed. And I as a candidate want to draw boundaries if I am not comfortable.
I actually really like this question too and I like to ask it (when I remember). I personally aim for roles that put me to the fire quicker. I’ve had friends who sat and did minimal work their first year and sitting idle for too long would drive me nuts.
Something I’d ask the recruiter, long before the interview, would be “do you use safe agile?”. The only place I worked at that did safe agile was awful and everything about safe agile was a nightmare.
If you pick only the few right parts of it, adapt them to your company’s needs, and are not super strict about things, it’s not that bad.
But yeah it’s kinda ironic that a workflow called “agile” should need that many different rule sets <.<
- What’s the on-call process like?
- How much time off on average do developers actually take?
- What is the testing and QA process?
- How do you measure success of a project?
- When and how do you evaluate employee performance?
I want to make sure my work-life balance isn’t going to be awful, and hearing that they have Unlimited Vacation doesn’t tell me how much vacation people actually take. I also want to know that the place isn’t just doing what a manager thinks “feels right” but actually measures and has standard processes for making decisions.
Another question I usually ask that may be relevant for many of you: what proportion of your developers are women? And: are there any women in tech leadership roles?
Personally, with that one, I’m mostly just looking for a normal response and that it isn’t zero. I don’t want to be the only woman around.
I would ask about their favourite project for that company. You can gain so much insight from this. Do they look happy when talking about it? Passionate? Overcoming challenges or being defeated? And much more.
My secret weapon is “what questions do you think I should have asked?”.
Not as a cop out, but something to follow your other questions with. A good interviewer will point you toward some of the company workings you wouldn’t have thought to ask about. And if they’re evasive it’s a red flag you can use to consider their offer.
I like this kind of simple question. It often reveals a lot. Something I’ve done in the past is to ask “what’s the best thing about working for this company?” and after they answer that I ask “what’s the worst thing about working for this company?”
I’ve found being direct like that can often get some useful information.
Ask about work life balance. I’ve had an interviewer tell me that they don’t work “too many Saturdays” go on to say that they “only worked 4 Saturdays this year” in March. That’s like a quarter of the weekends.
Another good one is what they’ll do to prevent share dilution if they’re bought out. Startups love to give you equity but it is paper money they can burn easily. Always remember salary is the only thing that is guaranteed.
Ask about how they protected staff during Covid. Ask how much vacation people typically take at places offering unlimited PTO.
Great question man. This is a big help to see!
First thing to figure out is if the new ship is stable:
- How were the customer numbers doing last 6 months? Churn vs new customers? Finance numbers (if possible to share)?
- How do you see the product of the company on the market? Who are the main competitors and how will the product win? Warning flags: not increasing customer base, people interviewing for dev roles have no clue about the product’s situation on the market
Next thing is to understand the team’s position within the company:
- what were the key deliveries of the team last 3 months, how are they connected to the success of the company
- what is the next top priority for the team Teams that are working on the key elements in the main product of the company are better for promotion for example. Teams that are working on side-projects or internal tooling could be better WLB.
Last, but not least, how does the team work:
- how is on-call? When was the last production incident and how was it handled?
- how does an idea get into development and to the users? Ask as an open ended question and listen carefully: – is there a backlog and prioritization, or ad-hoc pushing in new tasks – do they mention having different environments, code review, git or similar? – do they mention updating tests, test automation or manual QA? How are releases done? – where do they stop in the description of the process? Do they mention monitoring or logging? Smoke testing or post-launch checks? Is there someone checking if the release was a success for customers (usage/uptake or other key metrics)?
- how often do they release? Lead time for changes?
- how do they handle technical debt?
Maybe this is because I’m still relatively junior (2ish years), but my favorite question to ask is, “What are some of the characteristics you’re looking for in someone in this role?”
I use it as a vibe check, especially at the end of interviews. If they start reading my resume back to me, or listing the things we’ve talked about during the interview…well, that’s a good sign. If they start describing a bunch of stuff that we didn’t talk about, it’s a chance to throw a ‘Hail Mary’ pass and show them how that’s me, as well - maybe we didn’t talk about something that was important to them, but I have relevant experience or a background.
If they start describing somebody else…well, that’s not great.
What’s the best thing about your average day here?
What socials do the team get up to?
What’s the worst thing about your average day here?
As a company owner and lead dev of 15 years, I’ll be honest. If someone started with some of the barrage of detailed questions I see here I’d start to wonder whether I’d want to hire that person.
Although then again, I don’t even ask all that many questions myself. Prefer to get a (technical) conversation going whilst gauging intelligence, speed and flexibility of thought and general character.
Thrn again, we handle all the main (software development) concerns I see here and I tend to be very flexible as long as someone is productive.
What I’m trying to say is, relax? :)
Genuinely curious to see what questions you found to be too detailed and causing you to wonder if you’d want to hire that person. I had a lot of questions in my comment here and I’d love your feedback on them as a company owner!
(Thanks in advance!)
Dont want to call anyone out, because most of the questions are good. It’s the sheer quantity, I counted between 10 and 20 questions. An interview should be fun, don’t stress me out please
Although I would say that one list is far too focused on financials, you’re a dev, not an investor. Some other lists make me want to ask, ‘who hurt you?’
Maybe it’s because we’re a small company focused on hard problems with unknown solutions with a bunch of intelligent and flexible, fast thinking people. We do all the various buzzwords, microservices, clusters, resilience, automated testing trophies, reproducible dev envs, machine vision, machine learning, various p=np problems, etc.
But if the lists are too detailed and rigid I might wonder if you’re better off at a more standard company tackling standard problems in a standardized manner. If this comes of as derogatory. The reverse can also be said, that we’re a bunch of incompetent cowboys. It’s a style thing as well :) (slow is smooth, smooth is fast is a principle I like. We follow all the useful best practices when it comes to cicd, testing and code. I do not have the time for rework)
I enjoy not knowing what I’m doing, if you don’t enjoy the cutting edge (and falling of said edge once in a while) you’re not going to to enjoy working here :)
Edit: about your list in particular, they’re good questions, just try to ask them conversationally instead of slapping a sheet on paper on the table and rattling them off. Except for the macOS thing. We’re a Linux shop, noob ;)
Except for the macOS thing. We’re a Linux shop, noob ;)
Ha! I’d be fine working on a Linux machine! It’s that *nix terminal I’m addicted to. I just love the MacOS trackpad “gestures” and Homebrew has been a pleasure. Everything I deploy is to Docker/Linux environments anyway. I just really don’t want to develop on Windows if I don’t have to.
Thanks for the feedback! 🫡
Tbh, these days WSL2 might be slightly better than macOS at being Linux. As it is Linux (in a very transparent vm) instead of posix or *nix
But for most dev work all three are good options. I’ve noticed that once you start deploying against stuff like kubernetes or, less so, doing docker stuff you run into limitations on Mac and wsl2. Just random weirdness, especially with new the m1 chips and say cockroachdb. At that point there’s no substitute for the real thing :)
You can have my MacBook Pro when you pry it from my cold dead hands!