Social Icons

Pages

Tuesday, October 20, 2015

What is an “Above Average Programmer?”

So what exactly is an “Above Average Programmer” and why on Earth would anyone want to be one?  Why shoot for simply “above average” instead of “rock star” or “genius” or some other superlative?

The answer is really quite simple:  An Above Average Programmer is someone who builds software and who has applied some simple, no-nonsense techniques and principles which raise their mastery and the quality of their work to an “above average” level.

All right, you’re thinking, That answers the “what.”  How about the “why?”

Most professionals who have worked in their field for a while come to realize, assuming they didn’t know going in, that they are not going to be the “rock star” of the profession.  We use “rock star” in its widest meaning here, including both notoriety and mastery of the craft.  The vast majority of musicians do not play Carnegie Hall.  There are always more NFL players who have not played the Super Bowl than those who have.  For every Mark Zuckerberg, there are thousands of unknown programmers working every day on software applications which will never be seen outside the four walls of the organization that issues their paycheck.

But I’m not being a kill-joy here.  Reach for the brass ring if that’s what you really want.  Strive for super-stardom.  But in the meantime, there’s a living to be made.  Besides, on the way to god-like powers you’ll have to cross the mean at some point and thus, by definition, become Above Average.  So, anything that gets you there sooner can’t be bad, right?

All dreams of glory aside, the real reasons most of us would want to be Above Average are a bit more pragmatic:

Looking for a raise?  There’s no better way to get it than to be better at your job than 50% of your peers?  

Want to survive that next round of company layoffs?  Well, then it’s best to not be in the lower half.

And finally let’s not forget the one thing that nearly all of us, greenhorns and oldtimers alike, crave:  The feeling of a job well-done.

That’s the stuff:  To have the confidence that we’re not merely doing the job, we’re doing it well and getting better.  Even if the honeymoon was over a long time ago -- even if you’ve got more in common with Dilbert these days than you’d like to admit -- there’s still a fire inside waiting to be rekindled.  That’s what being “Above Average” is all about.

It’s not about being the “best” (whatever that means).  It’s about being your best and finding that, lo and behold, your best is actually pretty darn good.  In fact, it’s Above Average.

O.k., you say, we’ve covered the “what” and the “why.”  Can we get to the “how”  already?

Sure, that’s why I’ve created this blog.  I’m fully aware I’m not the best in the world at what I do.  Heck, I might be only barely above average.  But over the years, I’ve seen the good, the bad, and the ugly.  I’ve seen things that work, and things that definitely do not work.  Software development is a confusing, mixed up mess sometimes.  But when software works, it is a thing to behold.  At this point in my career, I think I can identify Above Average when I see it.

I’ve also seen so many of my fellow software professionals struggling with their craft, laboring in mediocrity.   They’re held back, not just by the things outside their control, like insane management, skimpy budgets, and sub-par tools, but also by things they can control.  Simple things that have the power to lift them into the realm of the not-so-average-after-all.  And that realm, my brothers and sisters, is a very fulfilling place to be.

This blog, then, is a way for me to share what I’ve learned over the years and (I hope) to give a hand up to a few of my colleagues.  For the most part, I’ll just be taking undeserved credit for showing you what you already have within you, with some concrete recommendations thrown in for good measure.  A few of my friends will also probably stop by from time to time as guests to share some “Above Average” things they’ve learned, too.  

So, if you’re currently feeling just about average (or below) and are looking to raise your game, have a look around my blog.  I think you just might find something that will help you.  Perhaps you will find some surprisingly simple things you can do right away.

And remember, it doesn’t matter how old or young you are, or how long you’ve been in the biz, it’s never too late or too early to become an “Above Average Programmer!”




No comments:

Post a Comment