muhuk's blog

Nature, to Be Commanded, Must Be Obeyed

May 04, 2012

The Pirate Ninja Rockstar Developer

There is no such thing.

Rockstar Developer is a ridiculous term used by clueless suits. It can only mean someone who’s too ignorant to realize he’s overestimating himself. They find each other, one surfaces his unrealistic expectations and the other makes promises he won’t be able to keep. (And of course they’re both male, we’re talking about serious amounts of testosterone here.)

There are three types of programmers; programmers who can’t write code, average programmers and good programmers.

And you thought Ninja Pirates were tough!

And you thought Ninja Pirates were tough!

There is a common belief that good programmers can do ten times the work compared to average programmers. This is complete and utter bullshit. A good programmer is of course more productive than the average one, but it’s a realistic advantage. Say, 15%, maybe 25%. I don’t know maybe it is 50%. Hard to measure. But it is definitely not 900%. You need a rockstar developer for that.

There is, however, a ten times difference, in effectiveness, between good programmers and the average programmers. Simply put, the former can do things the latter can’t.

Good programmers are able to come up with better designs and abstractions. They are much less likely to come up with a short-sighted design and paint themselves into a corner.

Another advantage good programmers have over the average ones is taste. Good programmers are less likely to put up with half-assed solutions. They strive for elegance. Narrow-minded suits perceive this as a sign of being arrogant or spoiled.

This very insolence determines the long-term success of projects. With the lack of it, the complexity quickly gets out of hand and simple changes become difficult to implement. Soon average programmers become unable to cope with the monster. Time to look for some rockstar developers.

Yes, good programmers are many times more productive than average programmers. It is not because they can type many times faster but because they don’t make the mistakes average programmers make. Sometimes their experience allows them to avoid the mistakes. But more often it is their taste that prevents the mistakes.

The smart try and find developers with this taste and nurtures it, instead of posting jobs with idiotic “Are you a code ninja?” titles.

If you have any questions, suggestions or corrections feel free to drop me a line.