I’m at the point of changing jobs, which usually gets me thinking deep(ish) thoughts about what I want out of my next job. I’m sure most people ask themselves the question, from time to time, “What am I doing with my life?”

Why am I stuck in this dead end job? Don’t I deserve better? Why aren’t I writing that great novel? I should be trekking the Himalayas. I’ve never been to Paris in the springtime. I work in IT and in the IT world we seem to be constantly asking ourselves “Why aren’t I working on the next killer app that will change the world?”

Most of the literature I’ve read on this subject seems to contain the implicit message “It’s because you suck.” True, I haven’t found anyone honest enough to actually phrase it that way. But the consistent message I’ve seen is you aren’t achieving greatness because you aren’t trying hard enough. To an extent, that’s true but if you really look at it as a logical proposition, in many cases it simply doesn’t hold up.

Greatness is a comparative term – high achievers look good because their accomplishments are so far above everybody else’s. If everyone moves closer to greatness, the measure of what is great moves further away by definition. Even if everyone continually improves, only a small percentage will ever be regarded as truly great because they’re great in comparison to everyone else.

This doesn’t excuse willfully mediocre (or worse) behaviour but I am calling into question the attitude that “I will not be happy unless I am the greatest in my chosen field.” It’s good to aspire to improve but is there really any value in continually obsessing about being the best? The unavoidable outcome of this type of thinking is 98% of us are going to end up disappointed.

I’m sure this attitude exists in every field of endeavour but it seems more prevalent in the IT industry than others. I remember a quote from the late 90’s dotcom boom that the speaker doubtless thought was insightful and inspirational: “I don’t want my obituary to say: He improved the company’s e-commerce efficiency by 5%”

That sort of fatuousness really pisses me off. The only thing that pisses me off more is someone in a black turtle-neck and trendy glasses telling me the reason I think their concept sucks is because “I don’t get it.”

When you look at it objectively, at least 8 out of 10 of IT jobs are limited to this sort of “5% improvement” achievement. IT development isn’t a never-ending series of epiphanies and flashes of brilliance. For most people, most of the time, it’s a long, slow grind. If more and more people achieve what they thought would be “life changing” moments then these achievements would actually lose value. Less and less things will seem like they actually are life changing.

At some point, this perpetual urging towards greatness crosses over from being inspirational / aspirational to being downright cruel. I think everyone should always be looking for ways to improve and even the crappiest job can give a sense of satisfaction if done well. But face it – we aren’t all going down in history and that fact alone shouldn’t make us feel like failures.

I like reading articles that show a “best of the best” approach being deployed in the real world to impressive effect. I’m not a complete cynic – I actually enjoy being inspired. At the smaller end of town, I’ve long been a fan of Joel Spolsky’s website. His posts on hiring processes at his company show a very well thought out way to get what he sees as the best people working for him.

A post from Steve Yegge shows this quest for excellence being deployed on a huge scale at Google. It starts off by slagging off Agile development (which is really funny if you’re a nerd like me) but the meat of it is a description of working practices at Google.

While Yegge’s piece is among my favourite pieces of writing on software development, it’s also a little depressing. Just coming to terms with how far my work environment is from Google is tough. I’m not motivated enough to get a job at Google (arguably I’m not talented enough but I prefer to live in denial) and very few other workplaces will ever be run in a similar manner to Google.

When I read of the “perks” etc at Google it really seemed that these were fundamental to their success. Google isn’t successful in spite of their programmers being spoiled (by most corporate standards), Google is successful because their programmers are spoiled (some say they are babied and become dependent on Google – a smart HR practice if you ask me).

This sort of treatment is never going to be widespread, not because it isn’t economically viable (Yegge paints a convincing portrait of this as Google’s very reason for economic success) but because most workplaces suck. Most bosses simply couldn’t stand treating IT staff that well and no amount of cost/benefit analysis will convince them otherwise.

The majority of IT workers will have experienced resentment from both management and non-IT staff. Sometimes it’s implicit, sometimes it’s overt: “why are you complaining? You already earn more than everybody else.” This is despite the fact that basic economics shows that a worker is unlikely to be paid well if they don’t provide commensurate economic benefit to the company (I’m talking workers, not management). Google looks like the decadence of ancient Rome to tight-fisted employers.

In the end, not only are most of us not going to be as spoiled as Google workers, we won’t change the world either. A far more sensible approach would be to have realistic workplace goals and maybe even look for fulfillment outside of work (god forbid!) I recommend starting a snarky blog where you lash out at everything that makes you angry. Not enough people are blogging </sarcasm>

I know many people would argue that we should always aim for lofty goals no matter how unrealistic they are. After all, isn’t it better to try and fail than to never make the attempt?

I’ll repeat my earlier point; I’m not actively encouraging people to be deliberately mediocre. But isn’t someone who sets realistic goals and maybe even helps improve the life of one or two people going to be more fulfilled than someone who spends their whole life following a series of doomed, quixotic quests to save the world?

If you have it in you to be one of the very top performers in your chosen field then it’s a waste to not aim for the very pinnacle. I’m a big believer in setting goals that are outside your comfort zone – you’re never going to reach your potential without setting a few goals that scare you.

But who exactly is served if we set ourselves goals that are so far beyond what is realistically achievable we spend our lives feeling like miserable failures? Either we find a way to make a “mediocre” career with average achievements a great career or the vast majority of us are doomed to a life of disappointment.