Live data from Hacker News

Another Theory to Explain 10X Programmers

beza1e1.tuxen.de

81–90 of 105 posts

Re: Another Theory to Explain 10X Programmers

#81

Earlier quoted context omitted.

I wonder if a thoughtful manager can work with that... somehow structure your workplace to not trigger the ugh-obligation phenomenon. (Or at least creep back up to 1X-5X.)

Maybe. I'd love to think that. I'm bit afraid to share that directly with my boss (though I hinted it at times). Both for obvious reasons, and because I don't feel I have quite figured out what's going on with my productivity.

Yeah, I hate other managers. :( A sensible manager should frankly find it interesting, not to mention an opportunity to help improve the team. But no, we can't have nice things, we must waste people's potentials...

Re: Another Theory to Explain 10X Programmers

#82

A sports analogy appeared in yesterday's HN thread on this topic: the difference between an average runner and the fastest man alive is less than 50%. The counter argument here is that the measurable variable here isn't really the skill of the programmer but the success of the company (or equivalent). You only have to be best by a small margin to win. If you count wins between me and Usain Bolt he would be more than…

>> the difference between an average runner and the fastest man alive is less than 50%. So that means the average man can run the 100m in 15 seconds? It's a much better comparison to stretch that distance out. How fast (slow?) does your average human take to complete a marathon?

A relatively fit person ran it in approximately 15 seconds without training. High school training in track brings it down to 12, from when I looked it up in the last thread.

So the difference between someone in high school and a professional runner is 12 to 10 seconds, approximately, and the difference between professional and elite is .5 seconds.

Re: Another Theory to Explain 10X Programmers

#83

Earlier quoted context omitted.

>> the difference between an average runner and the fastest man alive is less than 50%. So that means the average man can run the 100m in 15 seconds? It's a much better comparison to stretch that distance out. How fast (slow?) does your average human take to complete a marathon?

I think it's an ok comparison but remember this is not a normal distribution (I'm not sure what's the actual distribution) How many people do it in less than 10s? A lot of people probably do it in more than 20s

Precisely: the distribution of 100m sprint times is a curve with a small number of people below 10s. The question in programming is perhaps: are there people who should be paid 10x the average developers? Maybe such a claim is where the myth of the 10x programmer comes from? Comparing with sports: it's economically sound to pay a footballer who is marginally better than another 100x more because the wins count, not their performance! There are many arguments as to why someone with 4x problem solving speed doesn't actually provide 4x the business value, but in fierce competition a tiny individual performance advantage can mean a huge business advantage.

Re: Another Theory to Explain 10X Programmers

#84
post #72

Earlier quoted context omitted.

>> the difference between an average runner and the fastest man alive is less than 50%. So that means the average man can run the 100m in 15 seconds? It's a much better comparison to stretch that distance out. How fast (slow?) does your average human take to complete a marathon?

For track runners, 12-13 seems to be regarded as slowish, so 15 might not be too far off. http://training.fitness.com/interval-training/what-average-1... Also note that the parent said "average runner" but you replied with "average man", most men are not "runners", so that is shifting the goals quite a bit.

Yes, the definition of "runner" is somewhat blurry but you could argue that you need at least some training to qualify, just like the 10x programmer is compared to an average programmer, not the entire population.

Re: Another Theory to Explain 10X Programmers

#85

A sports analogy appeared in yesterday's HN thread on this topic: the difference between an average runner and the fastest man alive is less than 50%. The counter argument here is that the measurable variable here isn't really the skill of the programmer but the success of the company (or equivalent). You only have to be best by a small margin to win. If you count wins between me and Usain Bolt he would be more than…

>> the difference between an average runner and the fastest man alive is less than 50%. So that means the average man can run the 100m in 15 seconds? It's a much better comparison to stretch that distance out. How fast (slow?) does your average human take to complete a marathon?

Exactly. Just like not everyone can run an ultramarathon, not everyone can program fizz buzz.

Re: Another Theory to Explain 10X Programmers

#86

I fell into a role once that was unquely tailored to my experience. To paraphrase, I spent years studying and playing with parsing technologies, and parsing legacy languages for static analysis (these were my side projects). I took a job that required a lot of screen scraping (not really but close) at which I excelled. Blew everyone away when I turned around a project in two weeks. The same type of project took their…

Agreed. Got a call from a headhunter for a contract job I was uniquely suited for because of the niche I had been working for 10 years. I needed a change but was quite relatively content so I aimed high with my requirements, got the job, and then slam-dunked it so well someone tried to sabotage my efforts.

I also agree with the post that there are a lot of different things to be good at in programming. I tend to be good at some of the ones that are not mainstream, and I tend to suck at some that are mainstream. Sometimes that makes me awesome, sometimes it makes me stupid.

Re: Another Theory to Explain 10X Programmers

#87
I think a mix of things are coming into play here.

There is some innate talent involved in having the personality and mindset to easily think logically, and analytically. Likewise, the ability to jump to higher/lower levels of abstraction.

However, these are areas that people with different personalities can develop. Maybe the guy who comes to it naturally will pick it up quicker, but 5, 10, 20 years into a career, I suspect many people have balanced the playing field.

The mini-skillsets referred to in the article do come into play, as does the experience of what problems, industries, etc, one has worked on in their career.

At the end of the day, I think the overall idea that one person may be 10X in one situation, but 1X in another is 100% accurate.

Using myself as an example, I excel when working on old IBM legacy platforms to manage document-based applications, and modernize them to today's web UI expectations. That has been my specialty for about 10 years now, and I really am quite good at it.

But aside from HTML, CSS, JS, I don't know squat about the tools used by the startups who are writing thigns from scratch these days.

So at the end of the day, I am at least a 10X programmer in my little niche, but would not even pass a phone screen for a YC company.

The flip side is also true. The "rock stars" in SV would crash and burn if they had to do some of the things I do, as they would have to learn old legacy platforms that would be archaic and depressing to them.

And yes, this situation is problematic for my long-term career, but seems to be a great example of how different skill sets perform vastly differently depending on the project.

Re: Another Theory to Explain 10X Programmers

#88

Earlier quoted context omitted.

Maybe. I'd love to think that. I'm bit afraid to share that directly with my boss (though I hinted it at times). Both for obvious reasons, and because I don't feel I have quite figured out what's going on with my productivity.

Yeah, I hate other managers. :( A sensible manager should frankly find it interesting, not to mention an opportunity to help improve the team. But no, we can't have nice things, we must waste people's potentials...

No, my manager is awesome, though non-technical, so it's hard to explain some things (and yes, right now I'm the only strictly dev person in the company). He's a very reasonable person, and the recent ability to do a project totally my way was a way of accommodating my needs. I'm hoping we'll be able to build on that.

BTW. call me lucky, but throughout all my jobs, I never had a bad boss/manager. While their technical skills varied, they were all very honest, thoughtful and nice people.

Re: Another Theory to Explain 10X Programmers

#89
My theory is that the best programmers are not spitting out too much code fast. They are the ones who thought of how to build the best app.

The best "building builder" is not the person who can lay bricks the fastest, but the one who can produce an awesome looking and very functional building.

I wonder what the "10x" ratio is for people like Paul Alen, or Marc Andreessen, or Dan Bricklin, or Dave Cutler, or Andries Brouwer, or Miguel de Icaza, or Bill Gates, or Tom Lane, or Markus Persson, or Linus Torvalds, or Bjarne Stroustrop, or Matsumoto, or (a personal hero) Grady Booch.

Maybe someone who has actually worked with some of these giants can tell us whether my theory holds any water at all.

Re: Another Theory to Explain 10X Programmers

#90
100x -> 10x "working memory" + 10x skill

---

"Programming Skill, Knowledge and Working Memory Among Software Developers from an Investment Theory Perspective"

Journal of Individual Differences 32(4), 201-209. doi: 10.1027/1614-0001/a000052.

PDF: http://folk.uio.no/gunnab/publications/BergersenGustafsson20...

---

And more research from Gwern: "DUAL N-BACK FAQ" : http://www.gwern.net/DNB%20FAQ

"Working memory is important stuff for learning and also just general intelligence. It’s not too hard to see why working memory could be so important. Working memory boils down to ‘how much stuff you can think about at the same time’. I magine a poor programmer who has suffered brain damage and has only enough working memory for 1 definition at a time. How could he write anything? To write a correct program, he needs to know simultaneously 2 things - what a variable, say, contains, and what is valid input for a program. But unfortunately, our programmer can know that the variable foo contains a string with the input, or he can know that the function processInput uses a string, but he can’t remember these 2 things simultaneously! He will deadlock forever, unsure either what to do with this foo, or unsure what exactly processInput was supposed to work on. .... "

Post reply on HN