Live data from Hacker News

The Myth of the Rockstar Programmer

hanselman.com

11–20 of 89 posts

Re: The Myth of the Rockstar Programmer

#11
I disagree strongly. I created a software company, I have an amazing team, I know a little about this.

Rockstars programmers exist and they do because they can do machines do work for them, instead of having five people do the work the can do the code 5x to 100x or 1000x faster.

They could automate almost everything, even coding(creating new languages when needed specially for the task) and debugging itself, creating testing code, making failures very hard to happen.

A normal programmer will create new problems, not solve it. She will put mechanisms in place in order for the company to depend on her. She could not be faster but she could certainly make the others to slow down to her level. Beware is she gets to manage Rockstars, she will do everything to put others down, pointing fingers. They are experts excuse makers.

If you look at all big software accomplishments you will discover a very small team of incredible rockstar developers.

What this man is saying is that you need a team, no divas. But who says that Rockstars can't create teams?

One thing you can't do of course is putting Rockstars at the orders of some mediocre person or even argue when you don't know what you are talking about(you need to do your homework first). It is not comfortable.

What this person is saying is that he fears managing a team of people smarter than him, so he just prefers having people that are "normal".

Re: The Myth of the Rockstar Programmer

#12
post #10

Collaboration overhead. If you replace 10 average programmers with 1 good programmer he doesn't need 10x productivity to match the combined productivity of 10 programmers (which is not a sum). On top of that, programming productivity is also a qualitative measure that goes beyond feature X working correctly. One person can code it in such a way that every time it needs changing it's easy to work with - thus saves unc…

"Some people are stronger than you, some people are better coders than you - it's OK. "

What some people fail to get is that coders have over human powers. A strong person can't surpass human limits. He can't lift a car with his hands. But a person with a machine can.

You can't short all the words in a book as a person, but a machine can in less than a tenth of a second.

Re: The Myth of the Rockstar Programmer

#13

I disagree strongly. I created a software company, I have an amazing team, I know a little about this. Rockstars programmers exist and they do because they can do machines do work for them, instead of having five people do the work the can do the code 5x to 100x or 1000x faster. They could automate almost everything, even coding(creating new languages when needed specially for the task) and debugging itself, creating…

"Normal", really?

This sounds more like you have a hiring problem.

Re: The Myth of the Rockstar Programmer

#14

I disagree strongly. I created a software company, I have an amazing team, I know a little about this. Rockstars programmers exist and they do because they can do machines do work for them, instead of having five people do the work the can do the code 5x to 100x or 1000x faster. They could automate almost everything, even coding(creating new languages when needed specially for the task) and debugging itself, creating…

If you think you're hiring abnormal developers, you either have a very distorted view of your candidate pool, or your hiring process borks somewhere in the middle.

There is at least one faulty assumption in your post; I don't think it disqualifies it, of course, but I believe it makes it hard to generalize your conclusion:

> they do because they can do machines do work for them, instead of having five people do the work the can do the code 5x to 100x or 1000x faster. They could automate almost everything, even coding(creating new languages when needed specially for the task) and debugging itself, creating testing code, making failures very hard to happen.

First off, the "they make machines do work for them" is a cliche. Please, don't use this to advertise your team. Unless it's a bunch of freshmen doing 100% quality original web design on freelancer.com.

Second, if most of your development process can be automatized, why exactly do you need a team of developers? Original work tends to require thinking and crafting. If you're cranking out Joomla websites and a hundred customized CRMs a month, sure, that works, but most of these mythical rockstar creatures would probably not touch one of those things.

What about processes that naturally don't lend themselves to being automatized, particularly like the DSLs you mention? Yes, you can automate some of the process (e.g. you can use flexx and yacc to generate some of the parsing logic) if the language is too complex to reliably code the respective parts by hand, but you're still a long way to go from there.

> A normal programmer will create new problems, not solve it. She will put mechanisms in place in order for the company to depend on her. She could not be faster but she could certainly make the others to slow down to her level.

This is not what a normal programmer does. If the programmers you normally hire are like this, your company has a serious problem.

Re: The Myth of the Rockstar Programmer

#15
It doesn't take a "rockstar" or a "ninja" or "guru" or what-have-you to be a significantly above average developer.

Often the biggest hindrance to product quality (including performance, reliability, and usability) as well as to development velocity is technical debt. Having a team member who consistently churns out lots of new stuff of excellent quality is great but not nearly as important as someone who is sensitive to and adamant about eliminating technical debt. The cost of such debt balloons exponentially over time and becomes more and more difficult to pay down the longer it's allowed to grow. But even a fairly modest amount of effort consistently applied before technical debt grows out of hand can realize massive gains compared to the more typical scenario where the technical debt is allowed to grow until it threatens the viability of the entire product before it's addressed.

This may not seem very "rockstar" but ultimately it is such folks who keep the system clean who have the most disproportionately large impact on the quality, viability, market success, and total development cost of big projects.

Re: The Myth of the Rockstar Programmer

#16

I disagree strongly. I created a software company, I have an amazing team, I know a little about this. Rockstars programmers exist and they do because they can do machines do work for them, instead of having five people do the work the can do the code 5x to 100x or 1000x faster. They could automate almost everything, even coding(creating new languages when needed specially for the task) and debugging itself, creating…

> Rockstars programmers exist

Of course they do. The laws of probability ensure that. People and their traits usually follow a normal ("bell curve") distribution. Some individuals are at +2.5 standard deviations, and some even at +3.0 but they are rare.

Using the table from http://www.mathsisfun.com/data/standard-normal-distribution-... we can get some nice numbers to show just how rare they are.

A +2.5 developer is better than 99.38% of the entire population. (1 in 160)

A +3.0 developer is better than 99.87% of the population. (1 in 770)

That kind of talent can not be easy to find, let alone attract. So relying on getting such stars is gambling against some pretty bad odds. Some companies no doubt have found that they can improve the odds of attracting those off-the-charts developers, but for the rest of us mortals...

Re: The Myth of the Rockstar Programmer

#17
post #8

Earlier quoted context omitted.

> He's empirically wrong because I've worked with 10x developers. I believe you meant "He's anecdotally wrong because I've worked with 10x developers." To be empirically wrong, you'd have to contradict it with some empirical rather than anecdotal evidence.

Anecdotal evidence is empirical evidence. It's just not very convincing because it doesn't come with any information about how common experiences like those are, or what confounding factors might be at play. Now, in this case, confounding factors probably aren't a problem, but if 10x developers are one in a million or one in a billion, an anecdote about how someone, somewhere actually met one once isn't very helpful…

[deleted]

Re: The Myth of the Rockstar Programmer

#18
My main takeaway from the rockstar/ninja programmer thing- many people seem to believe that the average programmer produces net negative value, i.e. causes more problems than they solve.

I'm still uncertain whether I believe this, although I'm sure we all feel like we are carrying the team some days. If it were true, it would mean that firing half of all programmers could be the biggest improvement to the software industry ever seen.

Re: The Myth of the Rockstar Programmer

#19

He's empirically wrong because I've worked with 10x developers. A few years ago I worked with a guy there whose output, productivity, and smart solutions combined with godlike C++ coding ability made him probably 100x more effective than anyone else in the place. This was in the front office at Goldman Sachs, so the rest of us weren't completely useless. He was just in a different league though. I have also worked wi…

> He's empirically wrong because I've worked with 10x developers. I believe you meant "He's anecdotally wrong because I've worked with 10x developers." To be empirically wrong, you'd have to contradict it with some empirical rather than anecdotal evidence.

It's a matter of sample size, not of principle.

Re: The Myth of the Rockstar Programmer

#20

In the same vain I responded to Shanley's post: this is missing one type of engineer that is common in our field: * Average Engineer - Creates complex problems in response to simple problems... This is where the desire for rockstars / 10x engineers comes from. One person to clean up the mess made by 10 others.

That's exactly what I thought as well.

I'd very much prefer having the 10x engineer meme replaced by that of the 0.1x engineer: the one that gets the same task done with 10% of the code and effort.

The times I've felt by far most valuable is when I found a way to make that multi-month project simply obsolete by just changing a couple hundred lines of code in an unexpected place.

Post reply on HN