Archive for April, 2010

Atlas Developers

Friday, April 2nd, 2010

There is a stigma surrounding “Rockstar” or “Superstar” developers.   Sure, they are “nice to have”, but they are also selfish, egotistical and a complete pain in the butt.  They would definitely hire them if they ran into one (and of course, they don’t) but they’d do it begrudgingly.

These are the same people who struggle with messy codebases, delayed (indefinitely, often) schedules and overrun budgets.  Of course, they don’t notice the relationship between the two…

Fact is, superstar developers are aboslutely positively necessary.

Rockstar developers are more productive, but that’s not what makes them necessary.  What makes them necessary is that they have passion.  They care enough to:

  • Go out and speak to users (even when it’s uncomfortable) and find out what their problem spots are and then motivated enough to fix those problems (even if it means pushing past stodly upper management).
  • Implement source control, a continuous build system, automated testing, high test coverage,  a good production release process and so many other things that make good quality code.
  • Dig in deep into a technical problem, even if it means learning new things, reading books, tracking down experts online for advice, wading through forums, messing around with prototypes for days and even staying late to do it.
  • Learn about all aspects of software even when not specifically asked to by managers, like security, encryption, redundancy.

Not only can they take on the tough technical tasks and the overhead of the items described above, but they can also inspire other team members, train them and even compensate for their slowness.

What a rockstar developer is NOT

  • Someone who prefers to hear the sound of his own voice, rather than learn something new.
  • Someone who prefers to insist that he was right, rather than figure out what’s actually right.
  • Someone who prefers to have people think of him highly, rather than produce great things.

I think you might have confused the term “rockstar developer” with the term “douche bag”:

An individual who has an over-inflated sense of self worth, compounded by a low level of intellegence, behaving ridiculously in front of colleagues with no sense of how moronic he appears.

from Urban Dictionary

Note: just because a douche bag thinks he is a rockstar developer, that doesn’t make him one.  Please don’t pollute the whole rockstar pool on their behalf.  Now, back to real rockstar developers…

One or more rockstar developers can hold up an entire development team. 

Ideally the most awesome developer will have some sort of technical lead role, sometimes official, sometimes not.  If not, particularly if the lead is sub-par, the rockstar will likely leave.

If a development team has not a single rockstar, not a single person willing to put in the leg-work to really figure things out, then the project is doomed.   

The real trouble with using a lot of mediocre programmers instead of a couple of good ones is that no matter how long they work, they never produce something as good as what the great programmers can produce.

from Hitting the High Notes

Non-technical people will ask for features, bottom-line.  It’s up to the developers to figure out how to make the code extensible, maintanable, modular, service oriented, well formatted, regression tested and just overall quality code.  If the developers don’t care enough (or don’t know enough, same thing perhaps) then no one will do it.

New terminology, perhaps…

Some people fuss over the term “rockstar” developers because:

Rock stars get sex, drugs, parties, limousines, fame, glory, dates with supermodels, and Rolling Stone covers. Good programmers get . . . uh . . . fewer compiler errors.

from The One Tip to Rule Them All

I actually like the term Rockstar because it’s fun and because it accurately mirrors their role with the music industry from where it came.  The music industry is supported by rockstars.  A label with a rockstar is huge and grows exponentially by how many rockstars they have.  A label with no rockstars, but a small army of no-name-ers, is still small and there’s no amount of no-names they can add that will fix that problem.

Of course, music rockstars do also have a bad rep so maybe that contributes to rockstar developers bad rep.  Let’s try something else…

Atlas Developers

Borrowed from the title of Atlas Shrugged, of course.  And that title borrowed from the Titan in Greek mythology, Atlas, who held up the weight of the world on his shoulders.

Atlas Developers are developers who support the whole team.  They are highly productive, highly skilled and absolutely, positively necessary to any successful software project.

So tell me, who is the Atlas Developer in your team and what have you done for them lately?