Rock Star Devs Are Not Overrated
About the only thing a rock star developer and their namesakes have in common are they're both exceedingly rare.
I've run across several articles recently that discount the value of rock star developers and after reading them I'm left with the impression that the authors wouldn't know one if their life depended upon it. The article "6 home truths about rock star developers" by Andrew Oliver begins by claiming that you can't afford to hire all senior developers. I thought this was about rock stars, what's seniority got to do with it. The fact that you've been doing something a long time has absolutely nothing to do with being exceptional at it or else we'd have a lot more 65 year old musicians debuting on the top 40 charts.
Bill Taylor writes in his article, "Great People are Overrated"
Nobody would suggest the Bruins had the best individual players in the NHL - throughout the year, the stars of the Vancouver Canucks shone much more brightly. But it was the Bruins' work as a team, a collective show of commitment and determination, that won the day.
Is he really trying to claim that the 23 players that comprise a NHL hockey team aren't the rock stars of their respective line of work. How many kids played pee-wee, high school, and even college hockey? Of those how many made it to a minor league hockey team? Even fewer still worked their way up through that system and got a chance to take to the ice at the pinnacle of their sport. While not every one of them is a household name, they're all making millions of dollars to do something that they presumably love. That sounds like a rock star to me. They might be the equivalent of the drummer of AC/DC to The Rolling Stone's Mic Jagger, but the Simon Wrights of the world (I had to Google it) are probably doing just fine.
Mark Zuckerberg and Marc Andreessen's quotes are exaggerations, 100 or 1000 times the value of an average coder isn't an actual figure. As if such a thing could be quantified. My main point, and I can comfortably say this without any hesitation, is that if you think rock stars are overrated then your definition is wrong and you've probably never worked with one.
Most people, especially non-programmers, can't tell the difference between a C player and an A. In fact as PG states, most B and C skill-level programmers can't recognize the differences between a B and A player. It takes an A to recognize an A. So unless you're a really solid programmer, the kind that can knock good shit out quickly, you wouldn't have a chance at recognizing the A++ coder.
I've mostly talked about the fact that people have no clue what constitutes a rock star and can't recognize them, but assuming they're lucky enough to stumble on to one what will they get? I'll try to write a post on the subject in the future, but for starters rock stars are so much better at what they do that they don't solve hard problems.
They first look at the full context to determine what's really going on and what actually needs solving. They then turn what seemed like a complex problem in to a simpler one... And then quickly and easily solve that. It sounds like hyperbole, but it's really the crux of the difference. Good coders can solve hard problems, but rock stars simplify.
The beauty of this simplicity is hard to overstate. Simple things don't break as often or as bad as complex ones. They can grow, adapt, and evolve much more nimbly. B and C players have no chance at understanding the complex solutions developed by average A players, but just about anyone can understand the rock star's. That's why people throw out numbers like 100 or 1000. It's not that rock stars can do 100 times the work, they can make your organization 100 times "better" (fuzzy number and fuzzy word, but hopefully you grok my point.)
So if you think it's possible to hire only rock stars (as a lot of shitty job postings claim they do) you're a joke and the actual rock stars will move along to the next posting, on the off chance they're looking at listings in the first place.