My Secret Life as a Spaghetti Coder
home | about | contact | privacy statement | getting started with cfrails
You might not want to hear it, but you can be replaced. Indeed, you should strive to be replaceable - or at least tell yourself you are. That's the subject in this week's advice from My Job Went to India.

This is an eye-opening, scary, yet inspiring chapter - all rolled into one. In it, Chad explains why we should strive to be replaceable parts in the machine (or "a pebble in a bucket of water"), and he mentions the old job insurance via crapcode line:
I've heard lots of programmers half-joking about creating "job security" with unmaintainable code. And, I've seen actual programmers attempt to do it. In every case, these people have become targets. Sure, it was scary for the company to finally let go of them. Ultimately, though, fear is the worst that ever came of it. Attempting to be irreplaceable is a defensive maneuver that creates a hostile relationship with your employer...
By contrast, being "replaceable should create an unhostile working relationship," Chad says. He also notes that if you're not replaceable in your current position, you can't move up the ladder.

You might like to imagine yourself as a supercoder, keeping your company safe from disaster, and that if you were gone, they'd be helpless. To combat this delusion, Chad suggests imagining the average impact of one of your co-workers leaving.

I'll wait while you imagine it.

Got it? Good. That's probably about the same impact you'd have. If your entire company's truck number is a 1, and you're one of the ones, then clearly that's not the case for you. If you are in that position, you should be doing something to reverse it. It's unlikely you're "so peerless that [you] in fact should be irreplaceable" (quoting Chad Fowler).

The best part of this chapter, though, is the story Chad tells about a powerful CIO in a powerful company:
He and his team (of which I was a part) were winning every award and setting every IT standard in the company.
...
[Yet] he professed to waking up every day and intentionally and explicitly reminding himself that he could be knocked off his pedestal any day. Today could be it, he'd say.
...
[Chad explains,] humility is not just something we develop so we can claim to be more spiritual. It also allows you to see your own actions more clearly... [The] more successful you are, the more likely you are to make a fatal mistake. When you've got everything going for you, you're less likely to question your own judgment. When the way you've always done it has always worked, you're less likely to recognize a new way that might work better. You become arrogant, and with arrogance you develop blind spots.
Deep words.

In my case, our truck number is a one. But we have so few employees, it's hard to get it much higher than that. Still, we're making moves in the right direction to increase our truck number so that we all share more knowledge about more of each others' positions. Our hope is that while one of us might not be able to take over for another (if for no other reason than lack of available time), we might have enough shared knowledge to train someone else to do it, without it being more difficult than it needs to be.

All that spaghetti code I wrote is slowing being shoveled into the dumpster. And we're skipping the recycle bin.

Hey! Why don't you make your life easier and subscribe to the full post or short blurb RSS feed? I'm so confident you'll love my smelly pasta plate wisdom that I'm offering a no-strings-attached, lifetime money back guarantee!


Comments
Leave a comment

Sam, that's a very good point about "irreplaceability" possibly impeding promotion or transfer possibilities. Heck, even if one doesn't care to hang around a company, if the folks left behind are put in a bind by your departure, that's one reference you won't be able to use later. Imagine that call -- "Yeah, Person X worked here, and left us with undocumented and unmaintainable code." Just what prospective employers never want to hear!
-CPC

Posted by Chris on Mar 12, 2008 at 10:08 AM UTC - 5 hrs

Chris, thanks for the comment! (I wish I could take credit for the observation, but that was Chad Fowler's idea, not my own).

Anyway, good point about the reference as well. A future employer might also want to know why you worked X years at one place and don't have a reference to show for it!

Posted by Sammy Larbi on Mar 12, 2008 at 11:44 AM UTC - 5 hrs

No confusion there, Sam -- note that I said "that's a good point" instead of "You made a..." :) I know I should pick up Fowler's book sometime, but for now I'm enjoying the thought exercises and discussions arising from the parts you think worthy of examination here.
BTW, the truck number link cracked me up.

Posted by Chris on Mar 12, 2008 at 04:10 PM UTC - 5 hrs

Ahh yes - I read too much into it I guess, but I just wanted to be clear about not taking the credit. =)

About the link - yeah, it is good stuff. The c2.com wiki is a great resource!

Posted by Sammy Larbi on Mar 12, 2008 at 06:25 PM UTC - 5 hrs

Leave a comment

Leave this field empty
Your Name
Email (not displayed, more info?)
Website

Comment:

Subcribe to this comment thread
Remember my details
Google
Web CodeOdor.com

Me
Picture of me