What is wrong with Senior or Principal Software Engineer who has an established and proven passion for the business? Rather do we mean quite the opposite, someone who:

rolls up the sleeves and gets to work,

takes appropriate direction and helps influence teams,

programs in lessons' learned and proper practices,

provides timely communication to the whole team,

can code and understand multiple languages,

understands the science and theory behind computation,

Is there a trend to diversify the software engineering ranks? How many software rockstars can you hire before your band starts breaking up?

Sure, there are lots of folks doing this stuff on their own, maybe even a rare few who do coding for show, but I wager the majority is for business. I don't see ads for rockstar accountants, or rockstar machinists, or rockstart CFOs. What makes the software programmer and their hiring departments lean towards this kind of job title?

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. If this question can be reworded to fit the rules in the help center, please edit the question.

The other one is "Ninja". Some companies are starting to fight back and make fun of this by advertising for "Jazz" or "Pirate" programmers. I read a cool blog post a while ago, where someone explained why they'd much prefer to be a jazz programmer than a rockstar. Worth a read.
– Jörg W MittagFeb 24 '11 at 0:12

22

@Jörg W Mittag: "Ninja" programmers? What is that, really? Someone who sneaks into the office, fixes a bug, commits it through someone else's account and sneaks back out again?
– gablinFeb 24 '11 at 11:50

5

@Jörg W Mittag: deadprogrammersociety.blogspot.com/2007/05/… Jazz programmers: Their programs start off pretty normally but quickly descend into experimental, ad-libbed craziness that nobody else understands. They know the theory of programming inside-out but a lot of what they do doesn't quite work.
– AntFeb 24 '11 at 15:09

16 Answers
16

The term "rockstar" implies a certain amount of glamour, flash, sexiness, maybe even dangerousness, characteristics which really good programmers generally don't exhibit, but might wish they did. I wouldn't take it too literally. That is to say, it's a buzzword, and like many such, not particularly useful.

@user13645: The company expects a developer to display sexiness? You are hiring for coding right?
– Fanatic23Feb 24 '11 at 14:54

2

@Fanatic23: No, they expect the developer to think he/she displays sexiness. Whether the developer actually does display sexiness is in the eye of the beholder. Except in my case, where it's a reflection of objective reality (assuming that I get to define sexy for everyone else, of course).
– PSUFeb 24 '11 at 15:23

I'm not sure about glamour but I can probably pull off flash, sexiness, and definitely dangerousness on a good day. I wouldn't really label myself a 'good' programmer though. Probably something more along the lines of 'striving to suck less every day'. :)
– Evan PlaiceMar 19 '11 at 10:44

5

@Fanatic23 Is that your call stack, or are you just happy to see me?
– MaxpmMar 24 '11 at 2:24

Because Rockstars will works for a lot less than a Principal Software Engineer.

Actually, I propose the creation of the title Chief of Software, for the guy who buil[t|ds] the software the company runs on. With lots of shares, a hefty salary in the $500K+ range, secretary, access to corporate retreat, jet, a badge that gets full access everywhere, a signature that can sign good million-dollar checks, a large office with conference table, 12 computers for himself, and an IT department that says "Yes Sir Right Away Sir" because they don't want to hear him say: "Meet me in my office with a VP from HR in ten minutes."

It's about time the marketing and finance boys learn who really runs the company.

Take a look at the UrbanDictionary definitions. One defines a rockstar programmer as a weak technically but strong politicially (seems like what you're describing), and the other describes someone who is truly proficient.

I like the description on the second definition - it's like a guitar player who is beyond just good - thus rock star.

Interestingly, the first definition got more votes.

I agree, it's a stupid term, but it stuck. A good question (that I would like answer) is when this term was first used.

I suspect it may be a case of unintentional truth: the company really does want someone who is politically very good and if they can program too that's a bonus. So they advertise for a really good programmer, a rockstar. I am definitely not inclined to work for them, but if I saw the ad locally I might be tempted to apply and go along to the interview in a satirical manner (turn up looking and acting like Ozzy Osbourne)
– МסžFeb 23 '11 at 22:12

I'd consider a rockstar programmer to be somebody like Steve Yegge, Linus Torvalds, Joel Spolsky, Scott Guthrie, etc... Guys who aren't only talented in their respective fields but they're sometimes working on the leading edge and willing to share their experiences (which could potentially draw a massive pool of talent). I can honestly say that I've read a lot of their stuff (or watched their videos, listened to podcasts) and I'd be excited to work with them if I had the chance. Most importantly, even without the audience, they'll still be successful because they're good at what they do.
– Evan PlaiceMar 19 '11 at 10:50

I first saw this term with Ruby. There are several puns around the name of the language in that community. (For instance calling packages "gems".) Therefore I suspect that "rock star" started as another natural in joke, and then spread.

Ever wonder if the reason why some companies put up such cheesy job ads is that they are trying to get people to apply? Consider how whatever ad it is that had that term is something you tell a friend, "Could you believe this company wants..." rather than just not having that discussion and the information doesn't spread like a virus.

If you saw a job ad that put you to sleep, would you apply there? Really?

It seems like an attempt to invoke the image of someone with loads of talent and passion for what they do. At least in a extremely simplified, rosy-glasses connotation of "rockstar". That and possibly an attempt to make the company sound a lot cooler than it is.

Pretty much every company out there is claiming to (and/or trying to) hire only people in the top 1 percentile of the professional population in their field.
Of course this is utterly impossible, as 99% of employees in the field cannot all be in the top 1 percent.

Some companies/headhunters just use different language to express that desire than do others.
Some call it rocket engineers, some call it rockstars, some are honest and just state openly that "we want only the best".

And all of them will then try to screw you over during contract negotiations and offer compensation that's not at all in line with what you'd expect the best in the industry to be paid.

"And all of them will then try to screw you over during contract negotiations and offer compensation that's not at all in line with what you'd expect the best in the industry to be paid." They probably have skewed ideas of what the 1% are. I'd wager that 70% of companies would take somebody in the top 30% just because they think they're getting somebody in the 1%.
– Joe Z.Feb 21 '13 at 14:01

I think it means that the dress code is not the usual 'business' / 'smart office' but more rockstar specific, e.g. 'punk' / 'torn jeans'. You have to wear muscle shirts and black jeans, have really trendy haircuts, and lots of tattoos.

If you work with C / C++ you're expected to wear spandex pants, loose tanktops and a headband (you aspire to be the Axl Rose of programming).

If you work with COBOL or Fortran then you should wear tie-died shirts and flared jeans, maybe have an afro or long hair. Platform shoes optional, and you should enjoy smoking weed and dropping acid in your lunch hour.

uh, no. The term is merely indicative of the "we only want the top 1% of people to apply" attitude that's completely taken over the industry. Typically there will be strict dresscodes in companies explicitly stating so, as they consider themselves elitist. Expect everyone to be expected to sit at their desks in a 3 piece suit and tie all day, every day.
– jwentingFeb 24 '11 at 7:25

8

Take me down to parenthesis city/where the notation's big-O for complexity/Oh won't you please take me home!
– glenatronFeb 24 '11 at 10:52

1

@jwenting you are correct. I think Kirk missed the point, or perhaps hasn't read any such job ads (possibly because he is in a secure job which he enjoys). on a side note I hope never to work at such a place. yucky.
– Anonymous TypeMar 23 '11 at 23:09

I guess some programmers really do have no sense of humour - is it not completely obvious that this is a joke?
– Kirk BroadhurstMar 23 '11 at 23:31

Because they have an over inflated sense of the importance of their own products. Like celebrities who only get with other celebrities, some companies feel they need 'rockstar' developers. Just ego. A good solid team, well lead, with varying skills will do better than a couple of 'rockstars'.

"Band on the runtime" was made up of a few famous developers in the .Net world, with musical talent too, who played gigs at programming conferences. "Rockstar developer" is a silly term, so a joke fits here.

would you mind explaining more on what it does and why do you recommend it as answering the question asked? "Link-only answers" are not quite welcome at Stack Exchange
– gnatSep 21 '13 at 20:19

@gnat It's a joke. "Band on the runtime" was made up of a few famous developers in the .Net world, with musical talent too, who played gigs at programming conferences. "Rockstar developer" is a silly term, so a (cw) joke is a reasonable answer. It's a phrase that shouldn't be taken literally.
– MarkJSep 22 '13 at 11:40

I blame Intel & Microsoft for this term. They started using it heavily in their advertising material awhile back, and ever since Recruiters have thought it was a pseudo technical term for geek.

But yeah, if they need a Rockstar, or a ninja or any other crappy keyword based role, they are basically asking for a slave that will code non stop for 14 hours a day, go non stop for 48 hour periods during the final production release schedule, as well as being expected to mentor and train less experienced staff.

The irony is that there are still alot of programmers out there that at least have the narcism bit in common with a Rockstar, in that they see it as their duty to work insane hours to prove how hardcore they are. Mores the pity all it does is make the rest of us look bad, because we are smart and don't want to ruin our health doing stupid work practises.

I think it's mostly a way to represent the tone or environment of the company. Generally (or, at least, originally) the places that advertised for "rockstar programmers" are startups. They want to advertise that they aren't your usual button-down-and-khakis corporate cubicle farm, but something fun. (The cynical side of me says that they push their laid-back side as a perk to make up for less in the way of compensation, but I digress.) In effect, it's a way of saying "stodgy suit-and-ties need not apply". Often startups are not only looking for good programmers, but someone who meshes well with the environment (since startups are so small) and is passionate about the product (they're not just looking for a paycheck). And rockstars are cool, y'know?

Rock symbolises individuality, rebellion against status quo, preconceived ideas about the world order and established authority. It is associated with independent mindedness, feeling strongly about own ideas and convictions, determination. And being a star simply means that the person is damn good at what they do. Rockstars are able to ignite with energy and passion everyone around them.

It's easy to see why technology companies willing to build things that were never built or even deemed possible before try to attract candidates with these qualities.

The exact opposite would be someone trying to blend in, a person accepting established rules, constraints and conventional wisdoms. Treating the job as something that "pays the bills" and seeking to be told what to do. Always looking for a compromise and being worried about upsetting the existing order, being fairly average at what they do and lacking any visible energy or passion to share with others. A somewhat degrading industry term would be "a coding monkey".

I believe that the term rockstar as referring to an intellectual worker was first introduced into programming culture by T. Lister and T. DeMarco in Peopleware, but I might be wrong. Then it was further popularised by J. Spolsky in his essays on software development.