If a 10x programmer turns a 3x team into a 1x team, that super-genius isn't worth having.
And this is why I hate working with primadonnas who think they're brilliant.
If a 10x programmer turns a 3x team into a 1x team, that super-genius isn't worth having.
And this is why I hate working with primadonnas who think they're brilliant.
Brilliant people can often be easygoing and a great benefit to their teams. They do it by moving the whole team forward. They're never 10x individually in that case, but they may elevate a 3x team to 5x.
edit: Find me an engineer who is both brilliant and humble, and I'll bend over backwards to hire that person.
And I suggest that 3X a small team may be less than 10X the one person. Maybe a better team is one that supports a brilliant developer, making a deliverable out of their prototype. That's another way to manage it.
Now, we all hate a lot of the above stuff, and many companies handle these things better than others, but it did mean the only reason he was "20x" was because he didn't do 90% of the stuff that was expected of everyone else.
Maybe the company culture needed to change, but until it did, everyone else looked really bad compared to him, even though they were essentially spending their time trying to deal with his crap without help.
The thing about programming is that it is a relatively easy form of automation of data processing, so whereas a single developer can have multiples of impact far greater than a traditional office worker, and sometimes even greater than the impact of a traditional office manager (because software is more scalable than people), you can get a multiplicative effect when you combine great programming with great programmer management and collaboration. This is where you'll find a lot of my programming heroes. For example, what Yehuda Katz did with Bundler in terms of gathering community input and hammering something into shape to solve a whole host of hairy problems with RubyGems which no single individual could completely grok is inspiring. The amount of impact a project like that has on the productivity of thousands is impossible to quantify. I guess Linus Torvalds would be the quintessential example of that, for his ability to channel the efforts of thousands of developers in a cohesive direction while maintaining an impressive standard of quality.
So being 10x, 100x, 1000x is possible, but it depends on working on the right problems with the right people.
I wouldn't call that person a 10x programmer. I think that the only meaningful way to define a 10x programmer is someone who has ten times the contribution to the company's bottom line of an average programmer (i.e., someone who would actually deserve to be paid ten times as much as an average programmer, but could probably be hired for far less than that). However, if someone produces 10x more code than the average programmer but "turns a 3x team into a 1x team", then their net productivity is negative and they should be immediately fired.