I’ve been thinking a lot recently about what it means to be 10x. I answered a question on Quora about whether some developers might be not exactly 10x, and after thinking about it I came up with an answer that wasn’t what I’d expected to say.
In summary, I think that:
- The short term multiplier can be anywhere from 0.5x to 20x or more, comparing the same two people.
- The higher multipliers are a consequence of the complexity level of the task.
- The lower multipliers are for lower complexity tasks where domain experience dominates, and capacity for complexity is worthless.
- UI layout seems like kryptonite for high performance multipliers; there’s no complexity there.
- Over time, as a project’s complexity grows, the “fast” developer gets a cumulative multiplier.
The cumulative multiplier is important. As a developer who doesn’t fully comprehend the complexity of what they’re doing adds more and more non-optimal architecture to a project, the project will accumulate technical debt at an accelerating rate. The more debt, the harder it will be to add new features.
Additionally, another question on Quora made me realize something else: Being in the zone boosts your ability to handle complexity. In other words, the reason that “zone programming” feels so much more productive is that you’re applying more of your brain to the problem, elevating yourself to being a “10x” developer on the current problem relative to your normal ability on that problem.
So, effectively, we can all be 10x developers, simply by getting ourselves into the zone.
It’s true that some developers have a higher innate capacity for complexity than others. I also think that practice can stretch your brain so that you can reach beyond your natural aptitude as well. And the tools you use, and the experience you accumulate, also affect your performance and the quality of the code you produce.