Software engineering job search: Decision criteria
This is a list of criteria to determine whether a job opportunity is good for me. These criteria are applicable not just to me, but I’m writing them for me.
To do: This is very incomplete. Fill it out!
The interviews themselves
-
To do: How are the interviewers holding themselves? Do they treat the interviewee with respect?
-
To do: Is the interview an interrogation, i.e. primarily the interviewer asking questions and the interviewee answering? If so, get the fuck out.
Need
- To do: Why hire for this position? What concrete pain points are you facing right now, that this role will alleviate?
Company stage of life
-
To do: Is the company profitable?
-
To do: What are the plans for growth? Is there (god forbid) hypergrowth?
People
-
What is gender diversity like? I don’t use that question exactly, but rather ask something more vague and then let recruiters figure out what I mean. If recruiters bring it up by themselves, that’s a good sign.
-
What is the seniority distribution like? A healthy mix of junior and senior is helpful.
-
To do: What is the psychological/emotional safety like? How are interpersonal conflicts handled? To the interviewer: how well do you get on with your teammates?
-
How is feedback handled? Can you share an example where you (or the leadership team) incorporated feedback from an employee?
Onboarding
- What is the onboarding process? What would the first 30 days look like in this role? What about the first three months?
Collaboration
-
To do: How open is communication? The more open it is (no secret/private channels and boards and stuff), the better.
-
What tools and methods are used to communicate, to stay connected and collaborative?
-
To do: How are meetings held? Are there agendas and meeting notes?
-
To do: How does communication work? How are tasks assigned? How do people stay up to date with what other people/teams are doing?
-
To do: How does the engineering department collaborate with the product department? Engineering must under no circumstance be subservient to product — it is never healthy.
This role
-
What are the expectations for this role? How does it differ from other team members?
-
How will the expectations change over time?
Delivery
-
To do: What is the cycle time? How long does it generally take for a change to end up in production? What does that process look like?
-
To do: How long is the product backlog? Is it unreasonably long (1y or more)?
-
To do: How do items end up on the backlog? Who is involved in that process? Who prioritizes re backlog?
-
To do: How is non-product work planned in? This concerns regular maintenance and refactoring and the like. Who is involved in that process?
Remuneration
-
What is the base salary range? This generally needs to match a baseline, but there is flexibility depending on how much I’d enjoy this job, and how much other benefits exist. But base salary is probably the most important.
-
Is there a bonus program? I’m generally not very interested in this. It’s not going to sway my decision much, if at all. See Weeknotes 2023 W09: Goal cards and Weeknotes 2023 W10: Booklet where I talk about bonus programs.
-
Is there equity? Is it liquid? As with the bonus scheme, I’m generally not very interested in this — especially if it’s not liquid.
Workplace
-
What is the remote-working policy? At the moment, I am interested only in fully remote opportunities, but I am not married to it.
-
Is the remote-working policy going to change? I’d rather not have unexpected surprises here.
-
Is the company remote-okay, remote-friendly, or remote-first? This probably leads to other questions on the topic of how communication and documentation is handled. Asynchronous communication, to some extent, is a must.
Tech stack
-
What is the tech stack right now? The tech stack doesn’t have to be a perfect fit — in fact, not being a perfect fit is preferable, as it creates opportunities for learning.
-
How is the tech stack evolving? A tech stack is never fixed in place. This usually is good, though there can be unexpected surprises. For example, is stuff being moved into Salesforce, and what are the implications of that?