Live data from Hacker News

Super-star programmers

economist.com

91–100 of 124 posts

Re: Super-star programmers

#91
post #88

The big difference is that the best coders keep more of what they have produced, while the worst constantly have to rework whole sections. Whoa. Either I'm a worst programmer or this is clueless.

I said the same thing and had an interesting conversation with the author of the Thrust/Drag post cited in the article.

http://plus.google.com/110440139189906861022/posts/84784VhCm...

Re: Super-star programmers

#92
post #78
post #36

Earlier quoted context omitted.

The term "rock star programmer" is by now a symbol that people intuitively understand the meaning of. Essentially equivalent to the "creme de la creme" of programmers, but if we switched to using that term few would balk at the comparison to dairy production. I've described support staff coworkers as "total rock stars" before. Everybody gets what I mean when I say that.

So it's hilarious when companies like Geico or whatever post ads on Stack Overflow Careers 2.0 saying they only accept "rock stars"... Because we all know that's where all the hot shots flock to...

Is it hilarious that Geico aspires to hire the best developers because they're not elite enough and working there would injure a rock star's ego?

Re: Super-star programmers

#93
post #87

Earlier quoted context omitted.

You pointed out that productivity can't be measured (though that hasn't stopped you from invoking the concept). Something else that can't be measured? "Business value". Let alone the "business value" of an individual programmer's commits.

Yes, I completely agree. Why do you mention it?

Well, statements like "skill in coding isn't important unless it leads to tangible business results" seem to suggest that there is a way of linking the two. But there isn't. So it's misleading to talk this way. In practice, people just use it to confirm their prejudices (specifically about who is and isn't productive), which they've arrived at for other reasons.

I think "business value" is a particularly bad phrase because it sounds like something that can be quantified and has a clear implication about which class of people will do the quantifying (namely, business people as opposed to technical people). In reality, it can't, and the term is really about power dynamics within companies.

Re: Super-star programmers

#94
post #85

I'm disappointed to see the 10x programmer meme hit a publication like the Economist. There's no scientific evidence of 10x differences in programmer productivity. To quote Laurent Bossavit [1], who's investigated the studies people like McConnell use: "How strong is the support conferred to the 10x claim by the best-reputed list of references, for a reader persistent enough to follow the chain of citations back to p…

It's misleading to single out the 10x meme for the "that's not science" treatment. What beliefs about software development do hold up to the standard of hard (well-designed, controlled, and replicated) experiment? The published literature that I've read is all embarrassingly weak - understandably, given the complexity of what it's trying to study and the minuscule investment in such research. I haven't read the ebook…

I'm hardly "singling out" the 10x claim. If you knew me, you would know that I readily criticize programming studies [1]. At any rate, the prevalence of poor science in software development is no reason to be silent about this particular case of poor science.

I'll admit to being guilty of using anecdotes to describe my experiences with software development. (That's not quite the same as folklore, but whatever.) You won't find me claiming that my anecdotes prove anything, though, and I try to be clear that my perspective is based on experiences, not objective truth.

[1] For example, this comment three years ago on reddit: http://www.reddit.com/r/programming/comments/7dkjx/rescuing_...

Re: Super-star programmers

#95

My gut feeling tells me there's a 10x difference in productivity in almost any field of work.

if you replace "productivity" with "effectiveness", it feels even more true, with the emphasis on doing the right work, rather volume of work. as programmers, if we do the right work, our software "produces" more, so we readily conflate the two, but in other fields where the product is less animate, effectiveness means your unit of output is the right output, even if near & local productivity doesn't vary much.

Re: Super-star programmers

#96
post #85

Earlier quoted context omitted.

It's misleading to single out the 10x meme for the "that's not science" treatment. What beliefs about software development do hold up to the standard of hard (well-designed, controlled, and replicated) experiment? The published literature that I've read is all embarrassingly weak - understandably, given the complexity of what it's trying to study and the minuscule investment in such research. I haven't read the ebook…

I'm hardly "singling out" the 10x claim. If you knew me, you would know that I readily criticize programming studies [1]. At any rate, the prevalence of poor science in software development is no reason to be silent about this particular case of poor science. I'll admit to being guilty of using anecdotes to describe my experiences with software development. (That's not quite the same as folklore, but whatever.) You w…

Fair enough. Is there any programming study that you think holds up as science?

Re: Super-star programmers

#97
post #6

Forgive potential ignorance here, but people often quote Joel Spolsky as saying things like: "...the trouble with using a lot of mediocre programmers instead of a couple of good ones is that no matter how long they strive, they will still produce something mediocre." What really genius-level things has Fog Creek done? I remember demoing FogBugz, and it was marginally better than its competitors, but it was far from a…

> What really genius-level things has Fog Creek done? Made himself independently wealthy. Repeatedly (IE: Not luck). Not that I disagree with you. But that is worthy of respect in itself. Also, there is an art to the very difficult task of making the difficult look simple and easy.

There have been many people that have won the lottery more than once. Does that mean they are skillful at winning the lottery? Simply succeeding more than once is not sufficient evidence that the success wasn't because of luck.

All success is based on luck to some extent. It's silly to argue otherwise. Of course there is skill involved as well.

Re: Super-star programmers

#98

Earlier quoted context omitted.

Communication/Collaboration & ability to write elegant code are pretty symbiotic but I'd generally say it's harder to find someone who can elegantly design/code a system than it is to find people to talk about it(Reqs, specs etc).

Smaller teams means more of the communication takes place in the 10x programmer's head rather than in multiple meetings between 1x programmers. A team of 3 10X programmers should be more efficient than 30 1x programmers simply because communication will be more efficient.

Hah, my own anecdotal evidence has been in favor of smaller teams for the communications reason you cite. Probably a bit of a bad analogy but it made me think of 3 Unix processes vs 30. Way harder to manage IPC between 30 processes as opposed to 3.

Re: Super-star programmers

#99
post #93

Earlier quoted context omitted.

Yes, I completely agree. Why do you mention it?

Well, statements like "skill in coding isn't important unless it leads to tangible business results" seem to suggest that there is a way of linking the two. But there isn't. So it's misleading to talk this way. In practice, people just use it to confirm their prejudices (specifically about who is and isn't productive), which they've arrived at for other reasons. I think "business value" is a particularly bad phrase b…

Hmm... I can't agree. "Business value" is a useful term for describing sources of value beyond revenue. It's extremely fluffy and usually unmeasurable, sure, but it's still a useful way of talking about things that are worth doing that don't produce revenue, such as competitive differentiation, market research, brand promotion, philanthropic efforts, and relationship building. For software that doesn't produce direct revenue (the majority, in my experience), what better term is there?

I don't know why you say business value is actually about power dynamics, unless you mean that people use the term to promote their pet projects. If so, I think that has more to do with human nature than the term "business value."

Re: Super-star programmers

#100

I'm disappointed to see the 10x programmer meme hit a publication like the Economist. There's no scientific evidence of 10x differences in programmer productivity. To quote Laurent Bossavit [1], who's investigated the studies people like McConnell use: "How strong is the support conferred to the 10x claim by the best-reputed list of references, for a reader persistent enough to follow the chain of citations back to p…

I haven't read Bossavit's book. I have read McConnell's writings. Chapter 30 of "Making Software: What Really Works, and Why We Believe It" is by him, and edited by Andy Oram and Greg Wilson. The point of the book was to collect scientific evidence. I know Greg, and his high standards, so I strongly doubt that McConnell's evidence of weak.

I'm immediately suspicious of the statement you quoted: "Not a single one of the references is to a replication, in the scientific sense of the term." Strict replication is not and never has been a requirement to good science. As a trivial example, how do you replicate a supernova observation? You can't. But you can make models and test the models against the observed data and against future supernovas, and you estimate the reasonableness of the model effectiveness.

If that quote is indicative of Bossavit's views, then he is a poor judge of what's good evidence.

Going on with more quotes you gave, "which we can safely expect to have wrought major changes in programming practice." That is a conjecture, not a statement of fact. It seems like he's saying that once upon a time there was 10x difference, but the Internet makes everything different now there isn't. However, without evidence to back it up, I don't know why I should believe it.

What tests has Bossavit carried out to show that this is the case?

To the contrary, L. Prechelt "An empirical comparison of C, C++, Java ..." was both carried out during the internet era, was done with good rigor, and shows a large spread in the overall time to complete the project. That's a small project, granted, but it's another data point in the overall trends.

(If you don't like the small project size, another example, given by McConnell, is the large productivity difference between the Excel and Lotus 1-2-3 teams, which produced roughly comparable spreadsheet programs but with about an order of magnitude productivity difference across several different metrics.)

Multiple independently determined data points which all trend in the same direction strengthen the likelihood that the ~10x hypothesis is a useful model. That's what scientific evidence looks like.

McConnell even has a section in his chapter on "how meaningful it is to speak of an individual programmer's productivity", along with all of the caveats and cautions that everyone here is bringing up (some programmers produce negative lines of code, the best programmers tend to get the hardest problems, the effect of teams, etc.), and concludes "So while I see the value in measuring individual performance in research settings, I think it's difficult to find cases in which the measurement effort is justified on real projects."

Edit: I see that Bossavit wrote in response to McConnell's chapter. McConnel's reply to Bossavit is at http://forums.construx.com/blogs/stevemcc/archive/2011/01/09... .

Post reply on HN