State of the 10x Programmer in 2018

tl;dr: A 10x programmer does not necessarily know one language/framework ten times as well. More likely she uses 10 programming tools just as well as others who master only one.

Look up programmer on Indeed and you'll immediately see how fragmented CS jobs are. It's the nature of the field: each discipline could perhaps take multiple lifetimes to completely master, so of course there's no one who "knows it all". But in this post I'd like to make the point that titles have become too fragmented, and that a 10x programmer is really simply anyone who is able to cross these boundaries to find the right tool and employ it proficiently.

Spend a decent amount of time in this field and you'll run into the idea that overusing a single tool/framework can make one myopic. I've certainly noticed this with Ruby on Rails.

10x: "Why use RoR for an API-only app with no database when you could go with Sinatra? Or even serverless?"

1x: "Well, those other options aren't RoR".

The difference here is obviously not that 10x is so much better at Rails than 1x. Rather it's that 10x has the knowledge that there are better solutions. This distinction becomes even more important when you're crossing languages, because languages are designed to solve, in some cases, massively different problems depending on their architecture. In the real world, problems don't conform to a particular framework or even job title. Therefore, 10x crosses these language barriers when necessary, even if she has a preferred language.

In my field, devops is just another tool in the toolbelt. But also it's a whole job title because, like I mentioned in the beginning, every discipline has a massive knowledge depth. A 10x programmer understands that tools like Kubernetes and serverless aren't magical realms for devops to deal with, they are simply tools that abstract away concepts that she already knows. Kubernetes abstracts away distributed computing just like nginx abstracts away http.

Finally, I don't believe 10x is some exclusive club. In many cases, a 10x programmer has put ten times the effort/time into learning these tools. And so the other side of that is any 1x programmer can become 10x with time and effort. If you're able to become proficient at one modern tool, you can certainly become proficient in others. And that's the path to advanced, senior, 10x, guru, or whatever you want to call it.

Show Comments