Live data from Hacker News

Super-star programmers

economist.com

11–20 of 124 posts

Re: Super-star programmers

#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 to do this effectively -- by not painting yourself into a corner b/c you well versed in best practices and anti-patterns with using said 3rd party technology

Being able to do this smartly -- because you are well-versed in a lot of the different options, you can effectively way their pros/cons, and make smart decisions on which 3rd party stuff to use, and when to build vs. buy

I think these skills are more effective (towards your end goal) than simply being able to quickly code some brilliant labyrinth of an algorithm in less SLOC than a 1 or 2-xer. I feel like the emphasis is always put on the latter, and these skills are overlooked.

Combine these with effective communication, and then you are talking about someone who can get things done.

Re: Super-star programmers

#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 and say "I know how that works."

There's plenty of rock star coding out there, of course. But it tends to be either hidden inside companies due to secrecy concerns (Google's scaling architecture or the NVIDIA driver stack, say) or exposed in the open source community instead of the startup world (Fabrice Bellard is a great example here).

Startups all say they want rock stars, but then they put them to work doing "better versions" of the same boring stuff we all recognize. Which, if you think about it, is sort of what startups are supposed to do.

Re: Super-star programmers

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

You're missing the point that the term rock-star programmer doesn't mean they will produce world changing programs. It means they'll do an order of magnitude better/faster than their non-rockstar peers.

That might be a bit contradicting to what Joel is explaining. From what I've experienced first hand, there's programmers that can produce similar code/software in a week that takes 5 mediocre programmers to produce in a month. Those are extreme cases though.

There's not enough "rock star programmers" to go around, so not everyone can have a piece of that cake. Much of this is also very domain specific, it's not a given that a "rock star" game programmer is going to be a orders-of-magnitude better at developing business support systems. Finally, this is not that specific to programming. Not everyone's Einstein, Feynman or Michelangelo.

Re: Super-star programmers

#14
post #5

Earlier quoted context omitted.

Almost as important. I agree wholeheartedly: without communication, there is no team, just a bunch of folks sitting next to each other. (Still, working is more important than talking about it.)

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.

Re: Super-star programmers

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

You're missing the point that the term rock-star programmer doesn't mean they will produce world changing programs. It means they'll do an order of magnitude better/faster than their non-rockstar peers. That might be a bit contradicting to what Joel is explaining. From what I've experienced first hand, there's programmers that can produce similar code/software in a week that takes 5 mediocre programmers to produce in…

Well, in the linked article he used a Mozart/Salieri analogy, implying that rock star programmers write masterpieces, not simple bug trackers. If all Fog Creek programmers were truly rock stars, wouldn't they be beating Google instead of writing menial money-farm stuff? In my experience, those of us who move at a faster pace than our peers tend to get the most interesting projects. There's a reason that ERP software is so bad, after all.

In the rock star analogy, it'd be like getting the Beatles to write music for Justin Bieber fans, or getting Metallica to switch to the "easy listening" genre. That's not what you do with rock stars.

Re: Super-star programmers

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

You're missing the point that the term rock-star programmer doesn't mean they will produce world changing programs. It means they'll do an order of magnitude better/faster than their non-rockstar peers. That might be a bit contradicting to what Joel is explaining. From what I've experienced first hand, there's programmers that can produce similar code/software in a week that takes 5 mediocre programmers to produce in…

Can we please stop using the term "rock star?" It's getting old.

This idea that a single programmer is somehow so much better or superior may have its merits, but it's harmful to your overall business if you put all your weight on that single support.

You have to accept that above a certain number, your employees will fall on a bell-curve of ability, and you should support the efficiency and productiveness of the entire system, not depend on a few "rock stars" to drag it up with you.

Here are words I associate with Rock Star: driven (sure), but myopic, single-minded, selfish, unbalanced, and unfaithful. I say we strike it from the vocab.

Re: Super-star programmers

#17
It’s interesting that in the research from Peopleware mentioned in the article, the factor of 10 difference was mostly between different organisations, while individuals within an organisation were typically quite close in performance.

This suggests to me that the biggest influences on productivity for the organisation as a whole are probably to do with collaboration, culture and environment rather than extraordinary individual skill.

Maybe the very best programmers aren’t extraordinary just because they can solve the most difficult problems, but also because they are better at presenting their solutions in ways that are more accessible to other developers. That would have the twin benefits of improving productivity in its own right and of implicitly teaching by example so less experienced developers in the organisation would tend to develop the same skills themselves over time.

If you had a seed of programmers on that level and a culture that promoted mentoring, pair programming, code reviews or similar collaborative exercises, it’s not hard to imagine that such an organisation would develop significantly higher collective performance over time than another organisation without those benefits, even if most people joining each organisation were of a similar level of skill and experience to start with.

Re: Super-star programmers

#18
I think the author glossed over an important point:

"Within individual firms, the difference in performance was only 20% or so."

Is this because good developers congregate together, as suggested, or because having at least one good developer raises the productivity of those around him or her? They can certainly influence an organization through their choice of platforms and tools, aiding the productivity of everyone on the team.

Re: Super-star programmers

#19
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 think it is always important to consider time-lines on stuff like this. In this field (many fields actually, but it seems especially this one), the first version of something may be revolutionary or particularly good, and then everyone copies that as obvious, making the first one seem only OK or even bad. TV-Tropes covers this effect nicely in the world of fictional television at: http://tvtropes.org/pmwiki/pmwiki.php/Main/SeinfeldIsUnfunny I'm not sure the timeline on FogBugz, but it wouldn't surprise me if this was a case of it.

Re: Super-star programmers

#20

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…

Yeah I barely made it through. I'm pretty sure this is a fluff marketing piece / near press release anyways.
Post reply on HN