It’s an interesting facet of developer nature that we seem to have a need to come up with some sort of hypothetical super-developers that embody perfection and everything we wish we could be.

Today, I want to take a detour from our “code, eat, sleep, repeat” culture and argue for the merits of mediocrity, of being blasé boring and average.

Living inside the bell

In terms of skills and talents, developers are a wildly diverse group of weird creatures. We have different aptitudes and potentials, some can work with 10 languages without breaking a sweat, some can only write PHP (pun intented). Most of us are average developers and it’s okay, that is why Jeff Atwood and Joel Spolsky created Stack Overflow the oasis of ALL developers.

Above is bell curve. Any one who is familiar with statistics should be able to recognise the bell curve, if you cant its okay.

A bell curve is quite simple. Take a population of developers. The horizontal axis represents how good they are at software development (or whatever they do in their cubicles). Further to the right means they’re really good, further to the left means they’re really bad.

Now, notice that it gets really thin at the far ends of the curve. That means there are a few people who are really, really good at software development. And a few people who are really, really bad (the spaghetti code gang). The majority fall into the mediocre middle.

On the extreme right we have these guys who are better than the majority of all developers who ever wrote code and most developers will never reach their level but its okay.

On the extreme left we have the those guys who really suck no matter how much they try

Then on the middle is the majority of developers, like you and probably you if you are not on the extreme left as you dont fit in the extreme right

So should we strive to be average?, hell NO, as a developer strive to be exceptional but if you end up being average its okay (don’t just suck, seriously).