If there is such a thing as a 10x programmer, it isn’t this mythical person that you feed Red Bull and Cheetos to, and they return tons of amazing code. Actually, all the programmers that I’ve been around that produced gross amounts of code, produced gross amounts of lower than average code. Code that needed to be refactored, took a long time to understand, and was difficult to update.
That’s not a 10x programmer. That’s a fast programmer. A fast programmer doesn’t mean a good programmer.
What a 10x programmer really is (Again. Assuming there is such a thing), is a programmer that doesn’t produce more code than other programmers, but uses years of experience and intangible skills to make the entire team better.
That’s what brings value to a company. A person that makes everyone else better. Not by isolating themselves and writing code that no one wants to work with, but by collaborating with others and sharing knowledge about architecture, the right abstractions, best practices, refactoring, database design, and even more technical things like algorithmic complexity.
That’s the 10x programmer. One that raises everyone up with things that are difficult for most people to see.
This was inspired by a great blog post about 10x programmers.Particularly this:
The most productive developers are solving big problems, and are bringing judgment and experience to bear on essential design, architecture, and “build vs use existing library” decisions. They’re designing key abstractions that will pay dividends through the life of the project