8 ms·
>these papers did not actually bring any original evidence in support of the notion that some programmers are 10X better than others, [...] What I’ve been sayin
by jasode 12y ago
>these papers did not actually bring any original evidence in support of the notion that some programmers are 10X better than others, [...] What I’ve been saying is that the data is not actually there, so we do not have any strong proof of the actual claim.
I can agree with the specific observation that there is no consensus on concrete quantifiable data to prove "10x" with mathematical rigor.
Ok, let's set aside "10x" because many previous discussions about it have shown it to be a distasteful description to some. For those who do not believe in the "10x programmer", how do you feel about programmers such as John Carmack (Doom, Oculus)[1], Fabrice Bellard (ffmpeg, pi algorithm)[2], Linus Torvalds (Linux, Git), TJ Holowaychuk (node.js projects)?
If they are a league above other average programmers, what's an acceptable description that you'd use?
To me, the "10x programmer" was always a snappy rhetorical label and I was fine with it that way. I never sought a mathematical proof of the statement.
[1]http://en.wikipedia.org/wiki/John_Carmack http://en.wikipedia.org/wiki/John_Carmack
[2]http://en.wikipedia.org/wiki/Fabrice_Bellard http://en.wikipedia.org/wiki/Fabrice_Bellard
- BasDirks 12y agoThe ones you mentioned are 100x programmers, both in prowess and impact. People need to stop obsessing over the term. It's awesome that great programmers exist. Stop being so insecure.
- bonif 12y agoAgreed. And the same happens in every field, sports are a good example, you see the 100x people on TV.
- RogerL 12y agoI agree. It is a handy catch phrase that describes a real phenomenon. I tend to think in terms of variance. Programmer A is 3 standard deviations 'better' than programmer B (again, no mathematical rigor implied!!!). Think of it in this way. Most of us are smart people, and learned relativity in high school or college. Those that didn't, could have. It ain't that hard. But how many could have discovered relativity at that time in history? None of us, I suspect. Put it how you want, Einstein is a 10x, he is 6std outside the mean, or whatever. Same sort of things in software in my experience. If you have something really hard to do at work, you know who to give it to, right? You give it to (say) Jessica, who will come back in 3 days not only with it complete, but with all the ambiguities in the spec fixed, with 4 enhancements that you never thought of, documentation, and a framework that lets others in the company extend the functionality into other company products. Or, you could give it to Jacob, who will need to be prodded for status updates week after week, and he'll eventually 'deliver' 10x the number of lines of code (hence just as productive by SLOC estimates!) for a substandard solution that is unreadable and fails on all the edge cases. I call that 10x, without worrying about the math or quantitative part. To anyone that disagrees, why all the hand wringing about hiring? Just hire anyone that crosses your door, they will be fine, right?
- vonmoltke 12y agoThe problem is that there may be a domain you can drop Jessica and Jacob into where they become equivalent, or even flip-flop. My problem with the myth is the part that posits there are a bunch of programmers you can drop on anything and have them be more productive than the average. They exist, but they are very rare, just like Einstein-caliber scientists are very rare. In fact, you connected "10X" with "six-sigma"; that is about 4/1,000,000. > To anyone that disagrees, why all the hand wringing about hiring? Just hire anyone that crosses your door, they will be fine, right? I have complained many times in the past about the hand-wringing. I think you are creating a false dichotomy between hiring "10Xers" and hiring anybody. There is a gaping chasm between those positions, and in my opinion the proper place to set your bar depends on a serious assessment of your company and your needs. In this context the demand for "10X" engineers comes off at best as hiring voodoo and at worst as an excuse to not hire anybody like the company principals.
- RogerL 12y agoWhy is that a problem? Maybe Jacob should be doing enterprise development, or maybe he should be a chef. We aren't saying Jessica is a 10x human, just that she is 10x at the assignments that she has been given, or made on her own. When I assign projects I think about a person's ability. Not just what they know, but what I want them to know in the future, how quickly they might get things done, how much technical debt they will either create or retire, and so on. It's inexact, but roughly, yes, 10x people exist.
- vonmoltke 12y agoSo, the problem is this. The myth is about a "10X programmer". No qualification. If you look at hiring discussions, there seem to be a significant number of people in these circles that believe there are programmers who are nearly 10 times as productive as the average (or bottom; this seems to change from poster to poster) at nearly everything they touch. If you don't believe me, read some of the hiring discussions here. Jessica is not a "10X programmer". Jessica is a "10X $TASK programmer", where $TASK may or may not comprise an entire role. $TASK might even be as large as "web dev" or "enterprise dev". It is nearly impossible to screen for, though, unless someone has directly comparable work experience, where directly comparable includes intangibles like work environment.
- Delmania 12y ago"If they are a league above other average programmers, what's an acceptable description that you'd use?" Dedicated. These individuals have mastered their domain; they have spent years learning and practicing. They have built knowledge and skills that can be transferred to other domains. I think people need to stop focusing on the label, and start focusing on the process. I don't believe a person is born a 10X programmer. It's only achieved through discipline.
- icebraining 12y agoBut aren't some people born more disciplined?
- DennisP 12y agoYou're talking about crystallized intelligence. Fluid intelligence is also a real thing: "the capacity to think logically and solve problems in novel situations, independent of acquired knowledge." Obviously that's important for programming. A related concept is "general intelligence," which behavioral genetic research has shown to be highly heritable. http://en.wikipedia.org/wiki/Fluid_and_crystallized_intelligence http://en.wikipedia.org/wiki/Fluid_and_crystallized_intellig... http://en.wikipedia.org/wiki/G_factor_%28psychometrics%29 http://en.wikipedia.org/wiki/G_factor_%28psychometrics%29
- jsaxton86 12y agoDo you believe anyone can become a 10X programmer? Or do you need a certain level of talent in order for the hard work to pay off? My high school had an introductory programming class. Most students hadn't done any programming before, yet there were a couple of students who quickly understood the concepts and could solve weeks worth of assignments in a single day, whereas the rest of the class struggled. Those students, for whatever reason, were able to learn programming much more quickly than the average student, and I believe those students they'd see a greater return on their investment of hard work. Here's another anecdote: do you know any experienced engineers who work 12 hours a day and still struggle to do relatively easy jobs? I do. Talent is an important piece of the puzzle. Hard work is also an important part of the puzzle. Both are important.
- awkward 12y agoThe objection to the term is not because all programmers are average, or because any programmer could step up and be a John Carmack. The objection is that the idea of the 10x programmer creates the perception that hiring someone of that caliber for a low to mid level engineering position is an achievable goal that businesses should aspire to, and for less than 10x the price.
- Morendil 12y agoThis. Also, the (rarely surfaced) assumption that whoever is doing the hiring can tell a talented programmer from an average one. This is rarely the case.
- Tloewald 12y agoThe real problem with the 10x programmer idea is that the programmers we all think of do not necessarily write more code, or even write a given piece of code faster, they write more valuable code -- code that most other programmers simply wouldn't or couldn't write. My favorite example of this is the -2000 lines of code story about Bill Atkinson (QuickDraw, MacPaint, HyperCard): http://www.folklore.org/StoryView.py?story=Negative_2000_Lines_Of_Code.txt http://www.folklore.org/StoryView.py?story=Negative_2000_Lin...
- sz4kerto 12y agoBecause they are people who found their places where they can strive. Hire Carmack into an accounting software GUI dev position, and you probably won't see a 1000% advantage compared to his peers. In some other situations/environments he might be even worse than his peers. Right people, right place, right time, right behavior.
- Swizec 12y agoHence why it's been a social faux pas for the last 10+ years to tell a non-hire anything other than "We're not a match".
- shubhamjain 12y ago> Ok, let's set aside "10x" because many previous discussions about it have shown it is a distasteful description to some. For those who do not believe in the "10x programmer", how do you feel about programmers such as John Carmack (Doom, Oculus)[1], Fabrice Bellard (ffmpeg, pi algorithm)[2], Linus Torvalds (Linux, Git), TJ Holowaychuk (node.js projects)? I don't question that those brilliance of the people you mentioned but as edw519 says, in his free ebook [1], > I'm not suggesting that you'll go out and write Rails in 3 weekends. What I am suggesting is that the more I meet "famous" hackers and the more I meet people from this community (online and offline), the more I realize that there's not really all that much that separates us. > Lot's of people are obviously brilliant. And even for those who are a little less brilliant, brilliance is only one part of the equation. Work habits, determination, perseverence, passion, and maybe most of all, belief, are just as important. Don't sell yourself short. What I suggest is, a magical genetic gift, might not be the reason why those guys achieved so much. It might be because they were more "aggressive" and "focused" hackers. They insisted on building everyday and chose to work upon very challenging problems. [1]: http://static.v25media.com/edw519_mod.html http://static.v25media.com/edw519_mod.html
- k__ 12y agoMaybe the problem is, that hiring companies think that programmers like Carmack or Torvalds are so plentiful that even they have a chance to score one of them.
- rakoo 12y agoTo me a 10x programmer has never been the definition of an excellent programmer, but a programmer that allows the overall productivity of his team to be multiplied by 10. Maybe all programmers in the team have to build a website from scratch in Ruby, and he decides (and delivers) to build a web framework that allows his team to be 10 times more productive, not having to bother with the whole HTTP stack but only care about the application, i.e the added value of the team. Maybe he created a new programming language that allows the logic to be expressed and deployed 10 times as fast, and allows the code to be X times more maintainable than before; that's where productivity booms and the team (and in the end, the company) can deliver real products in accordance to what the users want. It does mean that the 10x programmer is better than others, but that's not the way this definition defines him: it only care how much he enables other to be more productive.
- eloff 12y agoWhere do these guys who deny 10x engineers work? I work in a company with ten devs. There's about a factor of five between the productivity of the top guys vs the bottom guys. That's after the worst performers have been let go. It's impossible for me to deny that some programmers are just really that much better at their trade than others.
- emodendroket 12y agoAnecdotal, subjective reports. Real rigorous; I can see why someone should find this convincing.
- eloff 12y agoYou must work in a really sad place.
- dahart 12y agoNobody denied it. Laurent went looking for evidence (to reinforce it, as a matter of fact) and found there isn't any strong evidence to back up the number 10, he found out that it's mostly a narrative that has been repeated over the decades. He reiterates that he sees a wide variety of programmer performance, and that lots of people are confusing what he's saying, that there isn't evidence, for saying that all programmers are roughly even in productivity. How do you measure productivity on your team? How do you arrive at the factor of five?
- eloff 12y agoWell the number ten has obvious origins. Thanks to evolution we have ten fingers that we like to use to count with. I don't think many people believe it's based on some rigorous data. A lot of people comment on HN that there are no 10x engineers, which I find strange. How can you work in this industry and not be convinced of the huge gradient in productivity? We measure productivity with #bugs, #points of features, etc. It's pretty crude, but better than lines of code. It really doesn't tell the whole story though, because most of what makes a 10x engineer is not solving problems faster, but solving the right problem in the first place.
- fweespeech 12y ago> Ok, let's set aside "10x" because many previous discussions about it have shown it to be a distasteful description to some. For those who do not believe in the "10x programmer", how do you feel about programmers such as John Carmack (Doom, Oculus)[1], Fabrice Bellard (ffmpeg, pi algorithm)[2], Linus Torvalds (Linux, Git), TJ Holowaychuk (node.js projects)? Have you noticed how you have only listed programmers with skillsets that go beyond programming [except for the one I don't know know anything about, TJ]? The first 3 of these are really programmers with management skills and the ability to build enough of a following to contribute to their projects. Their ability doesn't stem from a unique, magical "10x programmer" capability but rather the ability to get others to buy into their vision. Linus didn't succeed because he was a better programmer than 99.9% of the population. Linus succeeded because he got other programmers to buy into his vision and was a good programmer. You remember John Carmack more than Romero, not because of the skillset difference but because of John Carmack's ability to organize other programmers. I understand there is a desire to honor these people due to technical skill alone but it isn't their technical abilities that made them famous. If it was, you'd be including a bunch of other people with some very impressive list of technologies to their name. Rather than people who are "well known". Its the social skills that allow people to achieve fame that cause you to remember them like this.
- dean 12y ago"10x" is a very specific, concrete statement about programmer productivity. And when people use it, they take it as a literal statement. And they apply it across the board. They think a "10x" programmer can actually write any code 10 times faster than an average programmer. But nobody can even quantify what programmer productivity is, so concrete statements like "10x" are misleading. Even in this thread. Saying John Cormack is a "10x" programmer because he wrote Doom seems silly. (No offence to John Cormack.) There are lots of games out there. Why Doom? Or is it that anyone who wrote a game is a "10x" programmer. Or Linus Torvalds, why does writing Git make you a better programmer than writing Subversion? And what is "productivity" when writing code for yourself, versus writing code for your employer? Einstein was not a "10x" scientist. He was a genius. The only problem is that there aren't many Einsteins out there. To make it your goal to only hire the Einsteins of the world, or to try to figure out how to 'make' more Einsteins, is short-sighted for an employer when there so many good, but non-genius programmers out there. But if that is your goal, at least be honest and say you are looking for geniuses. The term "10x" is a literal measure of productivity. It defines the rate of output per unit of input. And that is why it is a myth.
- Delmania 12y agoIn response to the response to my first comment, a lot of what is missing from these discussions is an understanding of how the brain acquires knowledge and builds skills. I recommend https://www.coursera.org/learn/learning-how-to-learn/ https://www.coursera.org/learn/learning-how-to-learn/ as a good starting point.
- sterlingw 12y agoI highly recommend this course.
- olavk 12y agoNobody would deny that there exist both amazing programmers and really crapper programmers. The thing is, without any hard data this information is pretty useless. How is productivity distributed among developers? Is 1/10 of developers 10x productive compared to the average, or is it one out of a million? Is is a bell curve or a power law distribution? We don't know. So we cant use the information in hiring, compensation, team composition, project management or anywhere else.