Julia Evans

A litmus test for job descriptions

I’ve been working on a job description for my team recently at work, so I’ve been thinking about requirements. What qualities should the person have if they’re going to apply?

There’s been a lot of ink spilled on this topic and I don’t know much about it so I won’t say too much here! But! Here’s one test:

would everyone on your team today have met those requirements when they joined?

I switched to working on infrastructure recently. My team works on networking, containers, service discovery, stuff like that. I really like it! So if you were writing a job description for my team you could reasonably write:

requirements: experience with working with CDNs, load balancers, docker, consul, etc

But this would be kind of silly, right? I had experience with 0 of the software my team uses before I joined it, and I’m totally fine. So those obviously are not requirements for joining my team!

And you could cop out and say “oh, there are no requirements, anyone can learn anything”, but that’s often not true either – like, my team would not hire someone as a software engineer who had never programmed before. So to save everyone’s time it’s good to be explicit about what you actually want.

I find satisfying “everyone on the team would have met these requirements” to actually be really hard, especially if the group you’re hiring for has 50 people in it. It’s hard to figure out all the things those people had in common! I can understand why big companies write really vague requirements. But sometimes there are things that work. Like, maybe in practice you only hire people with previous work experience in the field! Or you’ll hire people without work experience, but only if they have a CS degree and have done an internship.

When people write job descriptions for teams I’m on that I wouldn’t have met the requirements for, I feel kind of.. alienated? like “oh are you sad you hired me? or it’s ok that you hired me but you don’t want more people like me?” I try not to get too mad though because usually they just haven’t thought through the requirements that carefully and are totally happy to change them to be more realistic :)

Anyway I am trying to write a job description that meets this litmus test right now even though it’s hard. Who knows! Maybe I’ll succeed!

Consistency vs availability (wat?) Running containers without Docker