Live data from Hacker News

Super-star programmers

economist.com

51–60 of 124 posts

Re: Super-star programmers

#51
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…

http://www.fogcreek.com/fogbugz/Downloads/KamensPaper.pdf

To quote The Spolsk himself: "This paper is the ultimate rebuttal to those grumpy people who email me, barely able to conceal their disgust, saying, 'why do you need to hire such smart people to work on bug tracking software?'"

Re: Super-star programmers

#52

The only example here given of the powers of these superprogrammers, is that they have banded together to make an OS that’s technically impressive, but gets no traction in the marketplace and ends up all but forgotten (PC/GEOS)? Not very enticing…

Having written both application and system code for PC/GEOS, it never appeared to have been written by 10Xers.

For the record I've worked with EPOC-32, Windows, NextStep, Linux, VxWorks, and Nucleus - none of them was as painful as PC/GEOS (although EPOC-32 sometimes came close...)

Re: Super-star programmers

#53

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've seen developers who create, rather than reduce technical debt; who take longer to get familiar with codebases; have a hard time focusing in the presence of distractions; and who seem to have difficulty ramping up solution domain knowledge (i.e. programming / software engineering techniques). And all of these things seem to be down to individual ability or motivation, i.e. something about the person, rather than external factors.

Most developers suck at programming (and that's actually OK). 90% of the code they write is copy and pasted from elsewhere in the codebase or from the web, and then tweaked until it does something approximately correct. They usually need help when solving a new pattern of problem. What they do often have is domain knowledge not related to programming, and produce just about acceptable results out of the machine in a labour-intensive way that doesn't really scale over time or problem size, but they muddle through with determination.

I don't know about a 10x productivity differences though. I'm not really arguing in favour of that hypothesis. Rather, if anything, I've seen step differences in potential; that is, there are developers that can do things other developers can never do, not in 10x the time, not in 1000x the time.

Re: Super-star programmers

#54
post #47
post #25

Earlier quoted context omitted.

It's just a meme. Some people are into it, some aren't. There are lots of ways to motivate people, and this works for some. I try not to get to wound up over language usage.

I think you have to be a pretty shallow person to be motivated by the idea of being called a rock star programmer. I specifically do not applied for positions that are advertised in this way.

I'm just guessing here, but I bet its more about communicating a shared perspective on software development than people thinking they're actually "rock stars". When a job ad says "looking for rock stars to blow a hole in the universe", you would be a fool to take that literally. But its along the lines of a "secret handshake" that lets both parties know something about the other in as few words as possible. A job posting like this is basically saying "hey, we read HN, reddit, etc, we know there's a ton of crap jobs out there full of walking-dead programmers. But this isn't one of them". Of course, the whole "rock star" meme has been hammered to death so that you're more likely to be a company pretending to be something you're not. The point is there is validity in this method of job posting.

Re: Super-star programmers

#55

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…

One of the better sources for these differences and their magnitude is Peopleware. Instead of citing vague research "somewhere", they did their own primary research. More specifically they set up coding wars where different programmers at different companies assigned to the same task independently.

They found 10x differences in time spent on the average coding war (which was typically a pretty small sample) with those finishing faster typically producing programs that worked better. So by any reasonable measure, at least 10x productivity.

There is your 10x, right? Wrong. They found that the best predictor of programmer performance was the performance of another programmer at the same company. Furthermore they managed to correlate a lot of that performance factor to specific factors, such as having a phone that turned off, a private room, adequate desk space, and so on. There was still something like an unexplained factor of 3 left over, but they didn't know whether it was environment variables they had not looked at (eg training), individual ability (which might be correlated across institutions), etc.

It is true that this research happened in the 80s, before the Internet was widespread. I would love to see it replicated again.

(Note, I'm aware of the existence of many other poorly controlled studies, see http://www.flownet.com/gat/papers/lisp-java.pdf for an example, but what is critical in the Peopleware study is that they acquired information both about productivity and about factors that might cause productivity differences.)

Re: Super-star programmers

#56
post #34

Earlier quoted context omitted.

"Forgive potential ignorance here" "Don't get me wrong; I think Joel has a lot of good ideas in general" The saying that comes to mind is perhaps the following. "Those who can, do, those who can't teach." I'm guessing that Joel, by his writings, is a combination of the two and as a result his output is not "rockstar" quality. Another example might be Steve Blank. Who no doubt achieved more fame as a teacher then he e…

Indeed; and my post was never intended to belittle Joel himself. He has provided great value to the industry in both capacities. I'm mainly challenging the notion that if he truly hires only developers he considers to be rockstars, then why doesn't the company have a more compelling domain than bug tracking and PM?

> a more compelling domain

I think this gets to the heart of your bias. "Bug tracking and PM" is not compelling to you, but I suspect Joel and his hires find it a lot more fascinating than you do.

Re: Super-star programmers

#57
post #12
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…

I'm constantly fighting that same urge. The problem is one of domain. UI coding for straightforward data models (which is 90% of all "web" development) just ... isn't very hard or impressive. Great programmers in that regime produce software that is smaller, cleaner, tighter and higher quality. But it's still just a bug database or social thing or web store, etc... Anyone (even mediocre programmers) can look at it an…

The majority of amazing software that has not been created yet is "CRUD". Why developers keep thinking the low level stuff is the good stuff.

A huge class of such systems that are waiting to be created are crowd labor systems. How do you create leaderless organizations that produce what google or boeing or walmart produces and that compensates individuals for performance.

The answer today is a messy unorganized market system. Proper information systems that better organize that would create a lot of value. The analogy would be this site. Thousands of people communicating, without the organizing software it would be much worse (thousands of people standing around talking to each other, the good ideas spoken would not easily reach the top as it does in this organized software system).

tldr; the biggest value opportunities lie in CRUD apps, not the low level code

Re: Super-star programmers

#58

The only example here given of the powers of these superprogrammers, is that they have banded together to make an OS that’s technically impressive, but gets no traction in the marketplace and ends up all but forgotten (PC/GEOS)? Not very enticing…

The article had the bit about Microsoft shutting them out of the market.

In any case, superprogrammers != super marketplace conquerors, and IMO should not be judged as (un)impressive on that metric.

Re: Super-star programmers

#59

As I reached about half way through the article I got bored and my mind starting having stray thoughts - god this is long. Isn't it ironic that a superstar programmer would have been bored by now and stopped reading. - momentarily after that, I guess I just admitted that I'm not s superstar programmer. - momentarily after that, I wonder if there are writers who can transmit ten times as much information using one ten…

Hey, you're exactly right. Most articles have really terrible information density and this is one of them.

For example Paul Graham's essays are often very insightful, but they are frustratingly long. The core idea, which is the only reason why I am reading the essay, can be summarized into 1 - 3 sentences. The rest is just a boring extrapolation and repetition of that.

Re: Super-star programmers

#60
post #11

It seems the general consensus is that a great programmer can write better quality code in less time than others. This requires a high level of aptitude and experience (which comes with practice). However, I feel the ability to write quality code quickly is just one facet of a great programmer's skillset. Often overlooked is the ability to communicate and collaborate with others effectively--which is just as importan…

Agree -- also one of the most under-rated skills is someone who keeps up to date on all the latest frameworks / libraries, etc. More often than not, you're building something that solves a unique problem and you do that by stitching together pieces of other people's engineering. I would argue that this presents several sub-skills: Being able to do this quickly b/c you don't have to spend the time learning Being able…

I think you came close to the biggest differentiator: adaptability. Great programmers can dive into a new technology and use their past experience to quickly gain competency in it. If I hand node.js to a great programmer, I expect that he/she will be able to start being productive with it in just a day or two. Lesser programmers struggle to apply their past experience to that new paradigm. It takes months for them to truly get comfortable.

That type of agility is hugely helpful in an organization.

Post reply on HN