The Birth of the Grumpy Asshole Programmer

by Ville Laurikari on Wednesday, September 30, 2009

Post image for The Birth of the Grumpy Asshole Programmer

This is a story, based on true life, on how you turn from a happy programmer into something sinister.

Stage 1: The happy creative programmer

You’re developing a new exciting product.  You’re the senior programmer in a small and talented team.  You’re responsible for a lot of the core functionalities - you get to write a lot of code and make a lot of the important design decisions. Things go swimmingly, and you’re having the time of your life.

Stage 2: The proud father

You and your team ship the first version of the product.  Despite the highly embarrassing bug in the installer, someone buys it.  You’re now spending most of your time on improvements, bug fixing, and polishing the existing features.  It’s not quite as fun as implementing all that new stuff, but still very rewarding.  It’s your baby, and you want to take care of it.

Stage 3: The product guru

You’ve ironed out the biggest kinks, and the product is selling well.  Your user base is growing, and you’re busy planning what cool features to put in the next big release. However, with the growing number of users, the support requests start rolling in. The support engineers don’t yet quite know the product, but you’re happy to help (your baby).  By now, there’s enough questions and inquiries coming your way to be a bit of a distraction, but you can still find stretches of a couple of hours or even a full afternoon here and there to work on the next version.

Stage 4: The grumpy asshole programmer

The next big version ships.  The customer base keeps growing still, and together with it, the volume of tricky problems grows fast.  The support staff is competent enough to take care of all the easy cases, so you’re left with the hairiest problems.  Since you’ve been so helpful in the past (your baby), many people have developed a habit of just coming to you when they encounter a problem they can’t immediately handle themselves.  You try to counter by producing documentation, and it helps a little.  Still, you spend an increasing fraction of afternoons with a queue outside your door.

Finally, you develop a fatalistic attitude about getting anything done.  You’re still the lead developer.  How in the hell are you supposed to get anything done when there’s someone constantly bothering you about how this-or-that works, requesting help in troubleshooting customer issues, and demanding estimates on how long it would take to add this-and-that feature?  Before, you got almost no email.  Now, you’re afraid to open your email.  In fact, you avoid opening your email before lunch just so you could get something done.  In response, people begin calling your mobile and checking by your office if you don’t answer their email in 10 minutes.  You stop even trying to code, because you would be interrupted anyway.

You stop being nice to people, hoping that they would in turn stop asking you things.  It doesn’t help, since you’re the resident expert on the product.  You throw empty Pepsi cans at people coming to your door, and fantasize about throwing full ones. You hide in meeting rooms and turn off your phone.  In the evenings, you fashion tiny phallic figurines out of Blu-Tack and stick them on product managers’ doors.   None of this helps much, but it kind of makes you feel better.

No matter what you try, you are trapped and there is no escape.  You have become the grumpy asshole programmer.

If you liked this, click here to receive new posts in a reader.
You should also follow me on Twitter here.

Comments on this entry are closed.

{ 28 comments }

hackerboss September 30, 2009 at 23:29

Blogged: The Birth of the Grumpy Asshole Programmer: http://bit.ly/uJ0i9

This comment was originally posted on Twitter

Crossbrowser October 1, 2009 at 00:14

I think that’s one of the biggest problem with most Open Source software: everyone wants to implement new features and flashy things, but no one wants to spend time fixing bugs that doesn’t concern them directly.

Ville Laurikari October 1, 2009 at 09:36

That’s an interesting observation – I had the typical corporate setting in mind when I wrote this. The tendency to like building new things is behind both phenomena, it’s just that in the corporate world you have no choice. In volunteer projects, you can just drop out and do the next interesting thing. No need to become so grumpy: if you don’t like it anymore you just move on. And yes, it is a big problem in open source projects, especially the smaller ones.

Many programmers don’t know what they’re signing up for when they start work with a new product. They love the first part where they get to build the new things, and they aren’t maybe quite aware, or at least haven’t accepted, that the second and less exhilarating part is going to come and their role will change.

kuzushi October 12, 2009 at 09:54

@hashedbits: I love your post http://bit.ly/uJ0i9 !

This comment was originally posted on Twitter

Grumpy1 October 14, 2009 at 12:59

Hey that totally happened to me, i am right now got myself out of job and self healing, My mind has struck the vaccum its not moving out. I enjoyed your post thanx

mmurph211 October 14, 2009 at 15:53

The Birth of the Grumpy Asshole Programmer http://bit.ly/2FmpYU

This comment was originally posted on Twitter

davitferreira October 14, 2009 at 17:56

The Birth of the Grumpy Asshole Programmer http://bit.ly/2FmpYU // Me senti até mal lendo isso

This comment was originally posted on Twitter

mattkenefick October 14, 2009 at 18:12

This is quite true http://bit.ly/2FmpYU

This comment was originally posted on Twitter

ricardjp October 14, 2009 at 18:48

The Birth of the Grumpy Asshole Programmer – http://bit.ly/2FmpYU (via @DZone)

This comment was originally posted on Twitter

iamfender October 14, 2009 at 19:04

hits a little too close to home http://bit.ly/2FmpYU

This comment was originally posted on Twitter

rodevangelista October 14, 2009 at 20:42

@CarecaOnLine muito bom, lembrei de vc qdo assumiu o f***ing NBuddy HAHAH http://bit.ly/2FmpYU

This comment was originally posted on Twitter

ossreleasefeed October 15, 2009 at 00:30

The Birth of the Grumpy Asshole Programmer – http://bit.ly/1QAIj9

This comment was originally posted on Twitter

nandihno October 15, 2009 at 04:12

so true so true…have encounter many in my working life..! http://bit.ly/2FmpYU

This comment was originally posted on Twitter

eabarquez October 15, 2009 at 04:56

“The Birth of the Grumpy Asshole Programmer” – http://bit.ly/uJ0i9

This comment was originally posted on Twitter

eabarquez October 15, 2009 at 04:59

Some really nice thoughts. I think this one might have struck a nerve. Thanks for posting.

jamessmith25 October 15, 2009 at 08:21

The Birth of the Grumpy Asshole Programmer http://digg.com/u1EHd0

This comment was originally posted on Twitter

thaberkern October 15, 2009 at 09:13

So true: The grumpy asshole programmer http://bit.ly/2FmpYU. Hilarious…

This comment was originally posted on Twitter

denderello October 15, 2009 at 09:45

So true: The grumpy asshole programmer http://bit.ly/2FmpYU. Hilarious… (via @thaberkern)

This comment was originally posted on Twitter

pixelmeister October 15, 2009 at 10:24

Wie wahr: The Grumpy Asshole Programmer http://bit.ly/2FmpYU

This comment was originally posted on Twitter

newmetl October 15, 2009 at 10:26

@dhoelzgen Das hier solltest du lesen! Es geht Berg ab mit dir. Du bist schon auf Stufe 3!!! http://bit.ly/49EbyW

This comment was originally posted on Twitter

zaidcrowe October 15, 2009 at 10:37

This is a feeling
I know well… RT @thaberkern: So true: The grumpy asshole programmer http://bit.ly/2FmpYU. Hilarious…

This comment was originally posted on Twitter

srcnix October 15, 2009 at 10:37

Brilliant: RT @stunami: RT @denderello: So true: The grumpy asshole programmer http://bit.ly/2FmpYU. Hilarious… (via @thaberkern)

This comment was originally posted on Twitter

sydlawrence October 15, 2009 at 11:39

So true: The grumpy asshole programmer http://bit.ly/2FmpYU. Hilarious… (via @thaberkern, @denderello, @stunami)

This comment was originally posted on Twitter

Ivan October 15, 2009 at 22:51

That’s funny, because stage 4 is exactly when the product begins to become valuable.

Ville Laurikari October 16, 2009 at 09:53

Ivan, right on. In stage 4 you start getting all those “good problems”. But for the lead developer, it’s hard to see what’s so good about them. All he sees is the problems. Stage 4 is also when a smaller and smaller portion of the total goodness is coming to the lead developer…

rene_silva October 16, 2009 at 22:54

leyendo: The Birth of the Grumpy Asshole Programmer http://icio.us/fnagjf

This comment was originally posted on Twitter

regulator May 13, 2010 at 12:24

A bit of business acumen would be wise to apply. When your baby becomes popular you need to grow with the demand, and that means get out of your cubby hole, uninstall your IDE, and start managing your new relationships.

If you want to stay in your zone then hire some business managers to do the relationship building for you – and that requires you relinquishing strategic control.

Seen this happen first hand with a univerity lecturer who wrote some software that became quite successful, got to the point where he could no longer cope, fortunately he got some professional services who incorporated his company and his software became a global success for almost a decade.

Sam August 19, 2011 at 20:20

Also, somewhere between stage 3 and 4; the business managers will get worried about having ‘all their eggs in one basket’ by just having a single product guru, so they hire a bunch of under-experienced programmers they believe will be able to graft-in on day one, and when they struggle, they’ll think it was your fault for making the system too complex and decide to make someone else the product leader. Because now all the hard work is done, they can get away paying someone cheaper to maintain it.

{ 4 trackbacks }

Previous post:

Next post: