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.

  • 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.

  • 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 <.<

  •  varsock   ( @varsock@programming.dev ) 
    cake
    link
    fedilink
    English
    6
    edit-2
    1 year ago

    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.

  • 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.

  • 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.

  • 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!)

      •  drdnl   ( @drdnl@programming.dev ) 
        link
        fedilink
        English
        1
        edit-2
        1 year ago

        Dont want to call anyone out, because most of the questions are good. It’s the sheer quantity

        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 :)

        • 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 :)

  • Technical things:

    • What’s the development process like? Scrum, Waterfall, … No clear process would be a red flag.
    • Is there source code versioning? Git and maybe Mercurial are acceptable. Only SVN would be a red flag. (At “No” I would probably leave the interview…)
    • Is there a CI Pipeline? Automated testing? Unit tests?

    General things:

    • What would my first few weeks here look like? Is there a special introduction program?
    • Is this a new role, or am I replacing someone? If the latter, why did they leave?
  •  agilob   ( @agilob@programming.dev ) 
    link
    fedilink
    English
    2
    edit-2
    1 year ago

    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.

    How much time they spent asking you questions? I hope that was 5 minutes too, interview is a 2 way thing, you need to know that you will like them too. If a company told me I have 5 minutes, I would take it that they don’t care what I think about them and they’re not interested in sharing information about themselves which is a massive red flag.

    Check this list https://github.com/viraptor/reverse-interview

  • 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.

  • 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.

  • 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?