What makes a job good?
For the same reason that hiring is hard, deciding whom to let hire you is equally hard. In fact, to make an analogy to complexity theory, I think the complexity class of deciding whom to let hire you is a superset of the complexity class of deciding whom to hire. It has the same hardness properties of hiring: deciding what kind of people you want to work with, and then selecting a set of people that are those kind of people. Then it adds more complexity: deciding what kind of leadership chain you want to work with, what kind of domain you're interested in working in, what level of compensation you're willing to accept, what kind of workplace culture you find appealing, and so on and so forth.
Of course, just knowing what you want is hard enough
But we also have the (difficult!) task of evaluating if a given opportunity matches our criteria. Both of these tasks are superbly difficult.
A simple framework for evaluating jobs
I'd like to lay out a lightweight framework for evaluating jobs using simple multiple linear regression.
Factors
Factors are attributes or qualities that a job can have. Try to rank your factors and assign a weight to each of them.
Lots of people go job seeking without even knowing what their factors are, let
alone their weights. Most people end up defaulting to a revealed preference of
factors={compensation=1.0}
. I think this is a false revealed preference, not a
true one, borne by a lack of deliberateness. At the least, it is certainly true
for me that in the past, I over-indexed on compensation as a factor due to
under-deliberating my own job-seeking process.
It is important that this step comes early in the process, because your factors and their weights are an input to:
- who you accept interviews with
- how you conduct your reverse interviews, and
- what data points you're looking for
Some examples of factors
# Do you like your co-workers? Are they kind? Do they make you better?
people
# Is the culture aspirational? Do its values align with yours?
culture
# Is the mission doing good? Is it interesting? Will it change the world?
mission
# Is the technology robust, scalable, "boring", efficient, simple?
technology
# Does the compensation allow you the lifestyle you want? Can you buy a house?
compensation
# Do you like the office location? Do you have to relocate?
location
# Does the role have the breadth you want? The impact you want?
scope
# Will you be learning in the role? Understanding new topics and systems?
learning
# How much will this role grow your career? Is there upward mobility?
growth
Interview and evaluate
I wish I had a robust framework on how to evaluate your factors. This is one of the hardest parts. From your factors and their weights, try to derive a strategy for reverse interviewing during your loop. Try to find good questions and ask them to get data points. Try to find other means of gathering data on your factors, out-of-band of the interviews. Contact employees that recently left the company, read forums, ask friends. Read their launch posts and blogs.
After calculating your weighted scores (sum of each factor's score times its weight), each role should have a score, modulo some epsilon error bounds.
Don't get too caught up in false rigor. This process isn't meant to be the decider itself. It's just a lightweight framework to help you craft a process that gathers better data on roles you are considering, and a possibly helpful output in terms of a score for each role at the end. At the very least, if you disagree with the scores, you can feed this back into your factors and weights.
Most likely, the score won't be able to fully capture how you think and feel about each role. The important part is intuition and feel.
What are my weights?
Of course, my weights are a work in progress, and it feels like I'm learning new things about my own preferences each and every year. Right now, this is what feels right to me.
people = 1.00
culture = 1.00
location = 1.00
mission = 1.00
learning = 0.99
scope = 0.98
technology = 0.90
compensation = 0.10
Deriving from these numbers I just scribbled down, for me to consider a job with a 50% score on people, all other things being equal, it should pay 5x the job with a 100% people score to be in the running. Put differently, I'm willing to take at least a 1/5th pay cut to work with excellent people as opposed to people that I can merely tolerate. This feels ~order-of-magnitude correct.
Feedback loop
When you're in a job that you like, try to figure out if there were unidentified factors that make it great. Add them to your list. When you're quitting a job that didn't work out for you, try to identify the testable factors that capture why you didn't like the job. Weight them, and add them to your list. If something is worth quitting a job over, it's probably worth a highly-weighted spot in your factors ranking.
Questions to ask prospective teams
- How do you track work? #culture (JIRA=bad, weekly status updates=bad, burndown charts=bad)
- What are your software deployment technologies? #tech (anything that isn't pipelines=bad)
- How do you build your software? #tech (standard build=good, random=bad)
- Does your software also build and test locally on dev machines? #tech (no=terribad)
- Can I run native linux on my laptop? #culture (no=terribad)
- How many source repos do you have? #tech (less=better)
- Do you have sprints? #culture (yes=kinda bad, qualified yes=better, no=good)
- (If yes) What is the point of a sprint? #culture
- What is the process to get budget for something approved? How long does it take? Do you do it often? #culture
- How often do you submit changes to code outside your team? #culture (sometimes=good, never=neutralish, cannot=bad)
- Do teams share common infra/practices for build systems, deployment, and monitoring? #tech (no=bad)
- Do teams share common infra for tickets, design documents, chat/email, etc? #culture (no=bad)
- What's the most important quality in a leader? #people #culture
- What's some positive feedback you've received in the past year? #people #culture
- What's some negative feedback you've received in the past year? #people #culture
- What did you find surprising when you first joined, that cannot be gleaned externally? #culture #tech #people
- What kind of window dressing does your company do? #culture #people