> Some programmers will do in 1 day what you wont achieve in a life time. And not understanding that makes you a bad programmer by my book simply because this is the foundation of the job.
Most projects out there will not benefit from such a person. If you don't understand this, then in my book it makes you a poor employee. I mean, it's great if this 10x guy can solve some challenging problems that most people cannot, but if that 10x guy cannot show how it helps the business, I hope he's not in my team.
Most businesses are complex and messy. Connecting your code to business value is not easy.
Looking at some of the comments here, people are going out of their way to both defend the existence of 10x programmers, while simultaneously working very hard at not putting any kind of metric on their ability (e.g. "no, it doesn't mean they can produce 10x code or replace 10 people or ... it means <something very hard to measure>"). If you're going to insist on some quality that is hard to quantify, then stop using numbers to describe them. They are geniuses, but not 10x.
In my experience:
1. You cannot replace 10 average programmers with a 10x programmer and hope to achieve the same output. Output, by the way, is not defined by code, but by activities that help the business move forward.
2. While there are some good claimed 10x programmers who work well with others, most of the ones I've encountered do not. In my last job, we had a team of several truly brilliant folks. They could dive deep to the assembly level or work at the system level (scripting, etc). Any bottleneck that arose - they would dig deep and figure it out.
It was the least productive team I've been in. They argued amongst themselves on the pettiest of things that had no impact on the business. When asked why I was leaving the team, I literally told them that I want to be in a team that writes SW. That team's productivity was so low I couldn't reasonably claim they wrote SW. It's not that they didn't write code, but that most of it would not see the light of day because of constant bickering.
A 10x programmer doesn't cost 10 times as much as a regular programmer. 10x programmers are real and drive real business value. The people who insist 10x programmers are a myth simply have not worked with one. Do not conflate brilliant-but-an-asshole or prodigious-output-but-creates-a-mess programmers with 10x programmers.
> that uses the phrase 10x but does not provide any way to quantify it
Understand your complaint but "10x" is best interpreted as a figure-of-speech and not an exact mathematical equation. It's just a short & snappy sounding label that's easy-to-say and easy-to-type on the keyboard. (My previous comment about that: https://news.ycombinator.com/item?id=13753178)
We use numerical type phrases without quantitative precision all the time:
- He doubled-down on his opinion. (We don't nitpick and ask how can an opinion be quantitatively measured as 2x?)
- The old editors like vi/emacs is a million times better than IDEs. (We don't nitpick about where the 10^6 quantity improvement comes from.)
And yesterday, the top comment[1] in "Economics Programming Languages" wrote:
- >a new language to be adopted it needs to do something (something reasonably important) 10x better than the competition. Even 2x better is not enough to motivate the disruption of changing languages.
Yes, it's hard to measure "10x" in languages beyond synthetic benchmarks. But I think most of us get the idea that "10x" is a just a synonym for "a massive amount" of a fuzzy quality.
For some reason, "10x" attracts a lot of extra nitpicking that we don't consistently apply to many other examples ("double-down", "million times", etc).
Most of your examples are commonly used phrases. "10x programmer" is a unique phrase. We don't hear "10x electrical engineer" or "10x politician".
Phrases like "decimate", double-down, etc are part of the English language, and is well understood to have multiple meanings.
Your other examples (e.g. vi/emacs being a million times better) are examples of random numbers people throw out. Someone will say vi/emacs is a ton better, or an order of magnitude better, or a million times better. Whereas with 10x, it's always 10x. I don't hear people talk about 3x programmers or 20x programmers.
The HN comment actually supports my point. You can see how different people are interpreting 10x in the responses. That's the exact same problem we have in this comment thread.
Yes, and "10x" is itself also becoming a commonly used phrase that's getting less tied to the math number 10. This thread's extensive non-quantitative usage from many people is evidence of that. (I'm guessing that in a few decades, the bikeshedding about "10x" will eventually stop and it will be accepted as a non-numerical description like "a million times better")
>We don't hear "10x electrical engineer" or "10x politician".
The "10x" is relatively new compared to "double-down" but it's spreading out to other uses besides "10x programmer":
- "10x programming language" : yesterday's HN thread comment example
Why do all the above non-mathematical usages keep happening? Probably because "10x" sounds cool. We're witnessing language evolution as it happens.
>Whereas with 10x, it's always 10x. I don't hear people talk about 3x programmers or 20x programmers.
Sometimes people talk about 100x and 1000x and infinityX to try and emphasize extra rare skills etc. Again, interpreting 1000x literally as 10^3 isn't the intended meaning. And to build on your point... the fact that nobody says "9x programmer" or "11x programmer" but almost always "10x" is actually evidence that it's not trying to communicate exact mathematics.
> This thread's extensive non-quantitative usage from many people is evidence of that.
Even putting aside comments like mine complaining about the actual number, this thread's extensive use of 10x to mean as many different things is a good reason to avoid the term altogether. The whole thread is just "10x programmers don't exist because X" and "10x programmers exist because Y", where X and Y are unrelated.
> "10x manager"
All but one of the links in the first page were in the context of SW, or written by people in the SW industry. Many of them explicitly pointed out they derived the phrase from 10x developer.
>10x to mean as many different things is a good reason to avoid the term altogether. The whole thread is just "10x programmers don't exist because X" and "10x programmers exist because Y", where X and Y are unrelated.
Yes, I understand your complaint here too but the various X-Y meanings isn't really the fault of "10x"... it's caused by any label. Previous comment about that: https://news.ycombinator.com/item?id=28797871
E.g. the alternative word "expert" or "effective" such as "effective programmer" would cause the same debates:
- I think an effective programmer is one who understand the whole stack from hardware gates to web stack
- No I think a truly effective programmer is one who empowers his team members.
- No an "effective programmer" is really X. No it's Y.
- <... ad infinitum disagreements ... >
It doesn't matter what the word is... "10x", "talented", "expert", "master", etc. There's no consensus definition and yet we haven't tried to eliminate those words.
Generally, I understand that people typically mean "10x" as a synonym for "massively better". (Because nobody who says "10x" has a stopwatch and rigorous academic studies measuring it.) And yes, the counterargument is "10 doesn't really mean anything" ... that's true but the "'massively better'" also doesn't really mean anything -- and yet we can't strike "massively better" from our language so we're back to the same issue.
There is no short label X that "really means" whatever everybody agrees it to mean. That's human language. We muddle onward regardless.
The author of that book, Sean M. Platt, is not a tech guy nor a programmer. He's a high-school dropout that started writing articles and stories. Now, he's mostly a publisher.
The interesting thing is that somehow, the "10x programmer" meme made its way to a non-programmer and he adopted it as "10x author".
The problem is value and productivity in software (or any creative space) is hard to quantify in general. How much better is the best engineer you’ve worked with compared to the worst? 2x? 1.5x? How do you quantify that? But you know one is significantly better than the other I assume.
If you want to replace 10x with “much much better”, then ok. But the general idea is the same. Some engineers produce an outsized impact compared to their peers.
Most projects out there will not benefit from such a person. If you don't understand this, then in my book it makes you a poor employee. I mean, it's great if this 10x guy can solve some challenging problems that most people cannot, but if that 10x guy cannot show how it helps the business, I hope he's not in my team.
Most businesses are complex and messy. Connecting your code to business value is not easy.
Looking at some of the comments here, people are going out of their way to both defend the existence of 10x programmers, while simultaneously working very hard at not putting any kind of metric on their ability (e.g. "no, it doesn't mean they can produce 10x code or replace 10 people or ... it means <something very hard to measure>"). If you're going to insist on some quality that is hard to quantify, then stop using numbers to describe them. They are geniuses, but not 10x.
In my experience:
1. You cannot replace 10 average programmers with a 10x programmer and hope to achieve the same output. Output, by the way, is not defined by code, but by activities that help the business move forward.
2. While there are some good claimed 10x programmers who work well with others, most of the ones I've encountered do not. In my last job, we had a team of several truly brilliant folks. They could dive deep to the assembly level or work at the system level (scripting, etc). Any bottleneck that arose - they would dig deep and figure it out.
It was the least productive team I've been in. They argued amongst themselves on the pettiest of things that had no impact on the business. When asked why I was leaving the team, I literally told them that I want to be in a team that writes SW. That team's productivity was so low I couldn't reasonably claim they wrote SW. It's not that they didn't write code, but that most of it would not see the light of day because of constant bickering.