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.

We can naively model choosing a role as a three-step optimization process

Step 1: Decide your factors and their weights

Let factors be list of attributes that a job has, e.g. comp or people

Let their weights be a value between 0 and 1 that determines their
contribution to the jobs' desirability.

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

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

Step 2: Interview and evaluate

Let each role have an evaluation score for each factor, between 0 and 1.

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.

Step 3: Calculate and reflect

After caclulating your weighted scores (sum of each factor's score times its weight), each role should have a score, modulo some epsilon error bounds.

Not to 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 rest is intuition and feel.

So, 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.

    # How much do I like the people I'm working with?
    # Are they kind? Do they make me better?
    people          = 0.3 

    # Is the culture aspirational to me?
    # Do its values align with mine?
    culture         = 0.27
    # Is the mission aligned with my values?
    # Is the mission doing good? Is it interesting?
    mission         = 0.2
    # Is the technology robust, scalable, "boring", efficient, simple?
    technology      = 0.2
    # Can I afford the lifestyle I want to live?
    # Can I save money? Can I buy a house?
    compensation    = 0.03

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.

On that note, as I write this, I just left a job that paid a lot for one that pays much less, but aligns with my values and lifestyle much more. I'm looking forward to seeing how that turns out!