Codecraft

software = science + art + people

Recently I’ve run across several uses of the phrase “rockstar developer” or “rockstar programmer” (“code ninja” is another hip variant). The term shows up on slashdot, for example. I’ve also seen it in job postings and in blogs.[1],[2],[3] A rockstar hacker archetype is standard fare in TV shows, where his or her computing feats are practically a superpower (Agents of Shield, Person of Interest, Leverage, Scorpion, …) Of course Hollywood loves the notion, too; I thought The Imitation Game was fascinating, but besides taking liberties with history, it portrays Alan Turing in a distorted way that feeds such mystique. (Turing was absolutely brilliant, and certainly one of the most important pioneers in computing. But he didn’t invent his codebreaking machine alone.)

[caption id=”attachment_6021” align=”aligncenter” width=”646”]Alan Turing and team members at Bletchley Park, with a forerunner of the modern computer —  technology invented by brilliant people to break the Nazi Enigma encryption. Screenshot from official trailer, under fair use. from The Imitation Game: Alan Turing and team members at Bletchley Park, with a forerunner of the modern computer — technology invented by brilliant people to break the Nazi Enigma encryption. Screenshot from official trailer, under fair use.[/caption]

It’s even in my inbox. After I began writing this post, I got an email from a recruiter on LinkedIn, looking for “superstars”:

superstar

The buzz about these mythical supercoders has begun to raise my hackles.

Plenty of developers consider themselves gifted, and not infrequently, they are right; I’ve met amazingly smart people in this industry. It’s also true that in software, the standouts are way more productive than their average or under-average peers. If memory serves, Facts and Fallacies of Software Engineering says the best programmers/coders/designers are up to 28x times better than the worst. The actual numbers are debated, and I think it’s possible to get carried away, but I could believe some big ratios.

Nonetheless, the worldview behind the “rockstar” label is naive and dangerous, and I urge you to help me correct it. Here’s why:

My beefs

1. Making a more than writing clever code.
Understandingneed of your business to make a profit is usually a good idea, too. Perhaps the vast residual work is what Thomas Edison had in mind when he said,
Genius is one percent inspiration, ninety nine percent perspiration.
2. The best developers are superb team members, not prima donnas.
I don't care if you're in a startup and you can only afford to hire oneveloper — if you think that developer can ignore teamwork, you're foolish. On day 1, even a one-person dev phenom has to work with those who test or document or support or deploy or sell. And if your startup has staying power, the day will come when Codezilla has to work with a contractor, or an understudy, or a team in Johannesburg or Timbuktu that will take over or integrate with what they've built.
3. If nobody understands your code, you've failed.
How can there be a version 2.0 if there's build upon your work.
4. Nobody knows everything.
It might be possible to crank out dime-a-dozen websites without research or innovation, but most projects with genuine market value are broad enough that they demand more skills than exist in any one person. Wise developers (as opposed to simply clever ones) are interested in learning.
5. Relying on magicians stymies progress.
When we attribute remarkable results to a murky thing called "genius", we abdicate the responsibility of other smart people to deliver. This makes good old-fashioned elbow grease seem dull, and shifts all the glamour to pulling a rabbit out of a hat. We all love the dazzle of a great show, but we're better served by figuring out how to predict, replicate, and optimize success, not treat it as a mystery.
6. The best metaphor for the pinnacle of our profession is a jaded, ego-centric, overpaid, dissolute show-off with a limited repertoire? Really?
(Can you tell I'm not big on rockstars? :-)
</dl>

Standing ovations

To temper my complaining just a wee bit, perhaps it's worth acknowledging one way that the "rockstar" metaphor does work: I have seen many performances during my career that were worthy of admiration — even applause. Working with people who are humble and smart and generous, who push the limits and raise the bar in all the best ways — that's an experience as memorable as any rock concert. Definitely worth the price of admission. Do you agree?