Live data from Hacker News

10X Programmer and Other Software Engineering Myths

blog.fogcreek.com

21–30 of 84 posts

Re: 10X Programmer and Other Software Engineering Myths

#21
post #15

>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 "10…

The 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.

Re: 10X Programmer and Other Software Engineering Myths

#23
post #17
post #2

I think like a lot of myths, there is a kernel of truth in the 10x programmer myth. The fact is, some problems are hard. Some problems are beyond the grasp of some developers. Even given unlimited time an individual may not ever accomplish the goal. I can certainly think of problem sets where that is true of myself. In those specific circumstances, that person can be considered a "10x programmer" when compared with a…

Ten times zero is still zero. It's a given that some people are more productive than others. They are faster typists, or they can architect a system of similar quality faster, or they can just write good code faster. But remember the idea of 10x came from studies of similarly experienced programmers. And supposedly, the order of magnitude comes from actual data, although I've never been able to see it. For most trivi…

> But remember the idea of 10x came from studies of similarly experienced programmers. And supposedly, the order of magnitude comes from actual data, although I've never been able to see it.

How are we determining experience? If we are talking about years in the field, years with a given language, years using a given language in the same way? 'Experience' is fluid enough of a word that it would be crucial to have an agreed upon concrete definition before we could continue.

Re: 10X Programmer and Other Software Engineering Myths

#24
Lets say a great senior coder is twice as good as an average junior coder. The factor ten comes into play, when teams grow up, skills get diluted, and communication overhead kills the project.

Lets say the great senior was able to code 20 hours per week, and used the remaining time for email, a weekly blog, walk the dog and other recreations. He now has to lead a team of a few average coders, and as hiring hyped a lot of sub average people (1/4 of his own productivity), who are only working 8 hours effectively because the rest is wasted by powerpointless kickoff meetings, and recreational office coffee talk.

imho, the factor 10 comes not from the coder, but from the system. There are some companies where its 10 times more fun to work, likely those attract those who are 10 times more productive.

The software crisis for big projects is also a system crisis. Those projects start by big companies betting on a budget, without knowing whats really in the sack, and without knowing whom to choose to solve the problem from their pool of employees. Once one of them gets the projects, the middle management starts to fight each other. Trying to hire good coders from other projects, or trying to get bad people into the new budget. The resulting internal fluctuation will cause a mess on any project.

Re: 10X Programmer and Other Software Engineering Myths

#25
post #14

I am glad that someone took the efforts to dig around and dispel these myths. But then even more important is the question - why we don't have enough evidence based scientific studies in the world of software? My guess is that it is because no two software projects are alike. Differences stemming from differing technology stacks, to domains or people skills, it is practically impossible to generalize anything across…

>I am glad that someone took the efforts to dig around and dispel these myths.

I'll admit that I only focused on the x10 programmer one, but nothing in the transcript dispelled the notion for me.

Re: 10X Programmer and Other Software Engineering Myths

#26
One of my favorite pieces of research in this space is DeMarco & Lister's "Programmer Performance and the Effects of the Workplace." Basically (go read it! it's short!), they show that the difference between private offices and tiny cube/open floor plans is strongly correlated with being in the top 25% vs. the bottom 25% of developers, which is a difference of around 2.6x.

Not 10x, but also non-trivial for those of us who don't have Facebook-like dollars to throw at filling desks in an ever-larger open floor plans.

Re: 10X Programmer and Other Software Engineering Myths

#27
post #2

I think like a lot of myths, there is a kernel of truth in the 10x programmer myth. The fact is, some problems are hard. Some problems are beyond the grasp of some developers. Even given unlimited time an individual may not ever accomplish the goal. I can certainly think of problem sets where that is true of myself. In those specific circumstances, that person can be considered a "10x programmer" when compared with a…

That might be true, but those problems are rare. The majority of developers will never encounter one, and if they do they'll use a library or middleware to solve the problem and they'll just move on, maybe without even realising they've faced a problem they could never have solved themselves.

Re: 10X Programmer and Other Software Engineering Myths

#28
post #15

>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 "10…

I 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?

Re: 10X Programmer and Other Software Engineering Myths

#29
I worked at a start-up dot-com. A programmer on my team was given a task, and a research paper with an algorithm that she could implement. We waited. It became critical to the company, and I decided to look at the paper to see how bad it was. In a matter of hours, I had a working solution. I told my boss, and we agreed to use my code in secret, while my co-worker finished her task. It took her a month of uninterrupted work... to give up.

OF COURSE there are 10x differences between programmers.

I feel like I'm relatively at the top of my game, and I know people who code circles around me. One of them has eidetic memory, and is also a genius to boot. He reads a manual to learn a new programming language. He's literally fluent in a programming language, and uses the correct idioms, in a matter of hours. Meanwhile, I'm copy-paste-modifying, doing everything like I would have in C++, for days or weeks.

An 18-year-old won Google Code Jam on his first try. I rest my frickin case.

Does there exist a programmer who is 10x as productive as another programmer, at a given task, given they both have the same amount of experience? OF COURSE ones like that EXIST.

If you want to talk about how common they are, how wide the spread really is, and underlying reasons, then yes, that warrants research.

But you don't need STATISTICS to prove something EXISTS. Anecdotal evidence is perfectly valid to prove something EXISTS.

Re: 10X Programmer and Other Software Engineering Myths

#30

He doesn't say that the 10x programmer is a myth. Just that there isn't academic research that proves it to be true, which hardly means that it's wrong.

Not a lot of academic research that proves bigfoot exists either.

Not a lot of evidence that the tree outside my window functions similar to trees that have been studied. Would you suggest that the assumption that it does is as reliable as the assumption bigfoot exists?
Post reply on HN