What is a Rockstar Programmer?

6 points by mduerksen ↗ HN
Quite often the term "Rockstar Programmer" is mentioned in comments or posted articles. It seems to be a short term for a programmer with numerous qualities, which are still obscure to me (since I'm quite new to HackerNews and the startup world in general). And that makes me wonder - in my ears, a "rockstar programmer" rather has negative connotations.

When I think of qualities a good programmer (or developer, engineer, hacker...) should have, I just can't connect these to the characteristics of my image of a rockstar (these are subjective, of course). For example:

A good hacker should be a skillful coder. Which skills does a rockstar need? Does he really have to be that good a musician? Granted, you may have to posess a certain amount of musicality to become a rockstar, but the rockstar business is really not a contest of who can play the guitar the most virtuosly. I personally know several people who are better rock musicians than lots of those who are rockstars. And I wouldn't know how to translate skills like stage performance or a thrilling voice into the programming world.

A good programmer should be passionate about the product he works on. Ok, this would be true for a rockstar too. But not only for a rockstar. This should be true for every person who is a "builder", whether he creates software, essays, a painting or a skyscraper. Passion about his music is not a defining quality of a rockstar.

In fact, the word rockstar does not describe any personal quality whatsoever - the defining attribute of the word is fame. And no rock musician gets famous just for his skill, you have to want to get famous. For what I can tell, this is true for 90% of all famous people. Fame and skill do correlate, but so does fame and PR. Some people even are more famous for their escapades than for their great abilities. Now how should that be important for a good programmer? I would rather consider it harmful if someone has the unstoppable will to outshine everyone including those who are just as skillful und passionate. And being too focussed on one's own reputation can significantly distract the sight to the best solution for a problem, which would be another strength of a good hacker: open-mindness and out-of-the-box thinking.

Or is "rockstar" trying to express something like "extraordinary", "outstanding"? Then say outstanding, that's more precise. Even better would be so say "outstanding in <insert skill here>".

Or "excentrical but genius"? The better term for that would be nerd.

So what is meant by "rockstar programmer"? Maybe there is something I don't get, and I'm happy for every clarification since it would help me understand the conversations and articles better.

13 comments

[ 4.4 ms ] story [ 35.8 ms ] thread
Beats me! Prbly a programmer who gut lucky and is now so successful she barely has to do any work anymore, commands outrageous fees, does a lot of drugs, smashes hotel rooms and tends to find underwaer on her keyboard...
Sounds like a great person to work with ;) That said, maybe there is some truth to that: Programmers often don't get the recognition and/or salary they feel they deserve. Maybe the "rockstar" expresses the wish to get more appreciation and honoration for their abilities. It would be interesting to know who actually coined the term. A hacker or a salesperson or who?
Not a programmer, but my guess is that it means someone with 'dazzling' skill that can pull off stuff you wouldn't really expect. That kind of skill usually has qualities/skills that go with it beyond the "normal" skill-set you think of. As you noted, being a rockstar is not really about raw musical ability but involves a number of other things, such as playing to a crowd. Someone who can write amazingly good code and also play corporate politics well enough to get his code instituted, instead of settling for some more prosaic solution, is probably the kind of person that gets called a "rockstar". To me, it suggests unconventional but brilliant solutions, not just solid coding ability. The qualities that lead to those types of solutions tend to be hard to quantify. I think that is a big part of why they get euphemistic labels like "rockstar".
I might be wrong, but I think the term "rockstar programmer" originated to describe a certain type of programmer who's outspoken, interesting, and possibly controversial. The first person who comes to mind for me is DHH from 37signals, who's a very good programmer, but who's also known for arousing vast kerfluffles with things he says in public.

The fact of the matter is that programming is very unglamorous. It's not a job that often entails the sort of creative passion associated with making music or film or literature; even when we're talking just about the kind of programming that's meant to serve that kind of creative function, it's still rarely as visceral as a good rock song. (The only piece of programming that ever moved me like that was We Feel Fine.) So using the term "rock star" serves to inflate the egos of people who might otherwise not feel like their work was important or meaningful.

When I hear a company say they're looking for "rockstar programmers" I usually take it to mean that they're looking to genuinely care about the programmer they're hiring. They don't just want a code monkey, they want somebody awesome and colorful who'll really be a meaningful part of their team. (Whether these companies actually believe that is another question. I'd bet most of the people who use the phrase are full of shit.)

Fearlessness of being controversial could indeed be a good charactistic of both a rockstar and a programmer who wants to make a difference. Yet, I can't image that's the quality a company is looking for when they search for a rockstar programmer. And if they do, I can't image that's what they will get.

Being egomanic and making a difference for the better is hardly the same.

Well, that's why looking for a "rockstar programmer" probably isn't the best thing to actively seek in an employee. Not unless you're only looking to be a "cool rad" company and not an efficient company that gets things done.
On a slightly off topic note, rockstars need a lot of skills to be successful. As you said it isn't only about music (I beg to differ that it does not relate to music at all), but a lot of different stuff. A rockstar has to catch the attention of millions of people and that is a skill which not everyone can master. This actually relates a lot to college professors. You might have noticed that there are some professors which just fail at catching your attention even though they might be expert in there subject while there are some which may not be the best in content but just catch attention of a huge student body in a lecture hall.
The term "rockstar" is used across many disciplines for a top performer. Don't get too hung up on the analogy: a rock star programmer isn't one who's into sex & drugs & loop unrolls.

The main origins of this meme revolve around some studies done many years ago that show there's a productivity difference of 10x to 20x from mediocre programmers and the top performers. It's been noted that the salary range is much smaller, often in the 2x range. So why not hire top performers, paying them twice as much and getting ten times the productivity?

There is and has been ongoing controversy about this on several fronts. The most substantial criticisms have to do with the validity of the studies. The rest of the criticisms seems to revolve around pushback from people because hiring rockstar programmers is difficult and care and feeding of such doesn't fit within the management structure of most companies.

If rockstar programmer equals top performer, then I must say the term is both blurry and misleading.

Well, I think I'll have to translate it on the fly whenever it appears, and I will not use it until it hopefully wears off as time goes by - I hate unaccuracy :)

It's a different matter in a job posting; in that case, it's a synthetic PR move, where the posters think they are showing how hip and cool their company is. Usually also a sign of unrealistic expectations.
one that doesn't read hacker news all day.
For me, a 'rockstar' programmer is a kind of hacker that I look up too (or other programmers look up to).

It's just like how maniac teens (or just any 'metal-heads') patronize or look at some favorite rockstar as their icon / model (or something close to this).

To demonstrate my point, I'd say people like Linus Torvalds, Richard M. Stallman, Donald Knuth, Ray Kurzweil,... are RockStars! Even Jeff Atwood could pass for one to some extent :-)

A "rockstar" programmer, simply put, is a manager's wet dream. There isn't a competent programmer, experienced with those that use this term, that want to be seen anywhere near it.

The term started as a marketing tool to get people in the door, and is now overused and loaded with unhappy feelings.

Before the BS, a rock star programmer is what every front end dev aspired to be (or thought they were): the best.