6

I'm interviewing for software engineering positions for multiple different teams at a single large tech company, where cultures can be quite different among teams. In these interviews, what would be good questions for getting a sense of what they're like to work with?

So far (early in the interview rounds), I've only asked about technologies they've used for the team's product, and rationale for choosing them or sticking with them.

2
  • Are you asking about culture, as in personalities, work-life balance, collaboration, etc., or about their tech-specific approaches, e.g., the Joel Test below? Apr 21 at 21:55
  • 1
    More interested in tech-specific approaches, since the question @gnat linked to covers non-tech. Apr 21 at 22:51

2 Answers 2

8

It's a little outdated, but the Joel Test is a good starting point to try and judge the maturity of a software team:

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

Other questions that that might be relevant to you would be things like:

  • What kind of hardware do you use to develop?
  • What tools/IDEs/etc do you use?
  • How long does a build take on your CI/CD pipeline?
  • What percentage of your codebase is covered by tests?
  • What proportion of your work is writing new code vs maintaining legacy code?
  • What are the biggest pain-points in your development process?
  • What are the worst parts of your current codebase?
  • How long are your sprints?
  • How long do you spend in meetings every week?
  • What happens when clients/management change ask for changes or additions into a sprint?
  • How is remote working managed? How often are people required to come into the office?
  • How do you handle code reviews?
  • How much time to you get for personal development/training/etc?
  • Do you have an annual budget for conferences/training?
  • What is the career progression for this role?
  • How often do you work outside of usual office hours? How does that change towards the end of a sprint?
  • How does your manager support you as a developer?
  • What open source tools/libraries does your team use? How does your team contribute back to the open source community?
  • How do you ensure that the code you write is secure?
  • How do you triage and manage security vulnerabilities when they're found?
3

@Gh0stFish provided a great list of questions. I would think about which handful of those are most important to you and ask them.

I would make a small modification to most of them though. Instead of asking in general, ask about their experience at the present moment.

For instance:

What percentage of your time did you spend in meetings last week?

What resources did you receive to support your professional development this year?

Tell me how you dealt with the last security vulnerability you found.

So many teams believe they have a solid security incident procedure (it's just that last time Joe was on vacation so they improvised) or that they'll definitely have automated deployments set up before you start (so why bother talking about the current painful process?). Asking about specific events and current timeframes can elicit details about the reality of the situation.

You can always follow up with "is that typical?", but usually they will tell you if it's been an outlier of a week.

Not the answer you're looking for? Browse other questions tagged .