Live data from Hacker News

Another Theory to Explain 10X Programmers

beza1e1.tuxen.de

41–50 of 105 posts

Re: Another Theory to Explain 10X Programmers

#41
post #5

Completely agree on this. I don't believe in innate talent. I believe we are all born with the same willpower to acquire knowledge. Some people will be ok with not mastering any specific skill as long as it does the job. Others who are "passionate" about certain fields or skills will try to learn as much as possible. So "passion" is a better word to define people's skills. I'm in the latter category, many people ask…

> I don't believe in innate talent.

I totally believe in innate talent. There are standard breakpoints in math teaching where people simply don't get it. No matter how much time you spend explaining it to them, their brains aren't wired up to handle certain levels of abstraction. At best they remember it briefly, but it never sticks.

(The breakpoints are roughly at basic 'manipulate equations to find x' algebra, basic calculus, and calculus in many dimensions.)

Being good at software and math requires an innate ability for symbolic abstraction and reasoning. It also needs a good memory, so you can keep a lot of details in your brain at the same time.

If you don't have those, you're not going to be able to do the job - certainly not well, and possibly at all.

Hard work will make the most of natural aptitude, but there has to be some natural aptitude to start with.

If this isn't obvious, I'd suggest learning some completely new skill, like painting or music. If you don't have natural ability you'll spend a lot of time flailing around wondering how the hell anyone can do it at all.

That's how most of the population feels about coding. The HN population is a self-selecting group that feels otherwise - but that doesn't make it typical.

Re: Another Theory to Explain 10X Programmers

#42
I don't really agree. Consistent 10x programmers learn the skillset required for the job. Often that requires learning about topics that have little relevance in other jobs. Because of that there is little incentive to be a 10x developer. They are paid maybe 1.25x-1.5x average and have to put in 3-4x the effort.

For example I am a 10x developer but much of my knowledge is company specific. This means I simply don't have much leverage; I am already paid 1.5x market rates. I could only change to a better job with a company that was willing to take a 3-5 year "gamble" on me. Unfortunately the average dev only sticks around for 1-2 years so companies don't usually make these long term hires.

For example I recently spent 50 odd hours of my own time learning the ins and outs of our companies internal serialisation format. In other words I invested about 8 weeks worth of my learning time for no personal gain. The knowledge is not worth anything to any other company. It's not a rational investment.

Re: Another Theory to Explain 10X Programmers

#43
post #30

Earlier quoted context omitted.

Not sure I agree I am dyslexic and I simply do not have all the inate skills that non disabled peopel have eg I have to work hard to spell of "of" and not "ov" But on the gripping hand I had a reading age of 18 or so at 10 - Average for population is 13 :-)

Don't people with dyslexia have other inane skills, such as better spatial perception?

Suposed to be one of the diagnostic indicators but its not 100% garented.

I think it helps with visualising some tasks eg set thoery and SQL

Re: Another Theory to Explain 10X Programmers

#44

I have worked with a lot of people in a number of different companies (including a few startups) and I can think of a couple of engineers who really stood out. When discussing engineering problems with these individuals, I never had to explain twice - Often, I didn't even need to finish my explanation and they already knew the optimal solution for that problem. These people are impressive to work with but I think it…

Also, I think it takes a long time before you can judge if an engineer is really good - Many months, sometimes it takes years before you see any payoffs!

Also some engineers might not be great, but they are good at picking the right tools for the right job and as a result the whole company ends up doing well. I don't believe in 10x developers because sometimes small engineering decisions can have a disproportionally big impact on company success.

Re: Another Theory to Explain 10X Programmers

#45
Kind of makes sense. How do you rename a type that is used in 1000 places?

- someone will search and replace manually (hours);

- someone will search and replace with a regular expression (minutes);

- someone will use a modern automated refactoring tool (seconds).

Re: Another Theory to Explain 10X Programmers

#46
post #28

I like this theory, seems to fit my experience and intuition much more than the "innate ability" kinds. But then again, I'm a weird kind of programmer. I'm a 10X+ programmer when working on my own stuff, or some challenge, basically for fun. Start paying me or expecting me to deliver, and my productivity drops to 0.1X. I've been unsuccessfully trying to figure that out for years and fix my work productivity, with lit…

I agree. I'm assuming there are many 10X programmers; unfortunately, there are not many 10X problems (or at least, not commercially viable ones - for example, I'm developing a programming language, but I don't see any chance of it being a commercial success, so I only do it in my free time).

I don't think that Ruby/Python authors were expecting a commercial success either ;-).

Re: Another Theory to Explain 10X Programmers

#47
post #8

Earlier quoted context omitted.

The scientific evidence [0] compares to "worst" for 10X, not "average". [0] http://www.construx.com/10x_Software_Development/Origins_of_...

In my experience, the worst programmers have negative productivity. 10X programmers must be real monsters.

Because they have negative productivity multiplied by 10?

Re: Another Theory to Explain 10X Programmers

#48
post #26
post #16

Earlier quoted context omitted.

Maybe these 10X programmers can quickly solve bugs and problems because they have faced similar issues before and spent the time nesseccary to understand the problem. In that case the important lesson is to limit the amount of novelty in your work so that you are mostly building on technologies you understand well.

In which case you'll probably inevitably end up building something with a suboptimal stack -- and limiting novelty also means you won't learn anything _new_, which sounds more terrible to me.

I am not arguing that you should elimate novelty completely. Just that the amount of time you have to learn new things is limited and needs to deliver returns.

Take the iOS app development. Consider someone who has never used Objective-C but has lots of experience doing client side web development. It would probably be faster for them to develop using a tool like Phonegap and use existing skills. It is theporetically sub-optimal to native code but surely the time spent learning phone gap will produce faster results than trying to learn an entirely new stack.

Re: Another Theory to Explain 10X Programmers

#49
It's not only about knowing how to build (the lots of tiny specific skills this article mentions). It's also about choosing what to build.

If you study what novelists say, they are extremely uncomfortable when they start new work. It's the same for 10x programmers. There is an initial torment and courage involved in that choice that deters the average programmer. That there will be skills one doesn't have for the new creation is a given.

Re: Another Theory to Explain 10X Programmers

#50
Its basically a form of the fundamental attribution error. Instead of looking at the properties of the person, we would often be better to identify the tasks themselves as having the potential range 1x-10x. Some tasks admit a narrow band but others (with many bear traps and possible shortcuts) have a broad range. The actual productivity is the fitness of the developer to the task and not a property of the developer.

This "fitness" is how well their skills, their set of learned intuitions, personal characteristics e.g. courage vs. caution etc. fit the given problem which can be sheer luck. This lets us realise that a great developer can have experience that has trained intuitions that actually work against them for a given task and avoid the nasty labelling of them as "they are not a 10x developer".

That said, intelligence and focus are common attributes that undeniably elevate the baseline significantly but by how much? If only we had a way to quantify productivity to test this stuff.

Post reply on HN