I saw a quote on Twitter the other night that I really appreciated:
Doesn’t matter how brilliant he is: if someone makes himself irreplaceable, he is a liability, not an asset.
— Pieter Hintjens (@hintjens) March 14, 2012
Let’s talk about what it means to be “irreplaceable” as a software developer. To me, it means that the cost of replacing you is so great that it’s easier to take almost any measure to keep you on board rather than to lose you. In software development, there’s something called a bus factor, which essentially asks, “How many of this project’s developers would have to get hit by a bus before the project can no longer succeed?” If you are irreplaceable, it means that your project’s bus factor is low: possibly just you.
Sometimes (not always, but I’d even dare to say usually), the position of power that this creates goes to the developer’s head. In the worst case scenario, he turns into a monster, making unreasonable and unfair demands of his employer in terms of benefits and compensation. At best, when a developer realizes that his employer can’t and won’t fire him unless he shows up to work naked and takes a dook on the CEO’s desk, he’ll lose all motivation to excel.
I say best case scenario, but that second option can be far more destructive than the first: a developer who’s just going through the motions stops being a developer and becomes just a programmer. A programmer with intimate knowledge of the business systems, sure, but just a programmer. There’s no longer any motivation or drive to a) be smart, and b) get stuff done.
So, what can be done? Well, if being irreplaceable is a bad thing, then being invaluable should be every developer’s goal: instead of being so damaging to replace that they’re forced to keep you, be such a valuable asset that they’d do anything to keep you. The distinction is subtle, but it’s there. Here are a couple things that I can suggest:
- Be innovative. Think of Steve Jobs. He might’ve come off as a crazy person at times, but he found out where the problems were, and solved them in interesting ways. Even if you never invent an iPhone in your lifetime, you can still find ways to improve your process and make life easier for yourself and those around you.
- Have integrity. If people know that they can trust you to do what you say you’ll do, when you say you’ll do it, they’ll turn to you more often.
- Communicate well. The first two don’t really matter if you only sit in your office in the dark and growl at anyone who comes near. Learning to express yourself clearly is important, but learning to listen and try to understand others is even more so.
If you can make yourself invaluable while avoiding the negatives of making yourself irreplaceable, your employers and coworkers will love you. But more importantly, you will find greater enjoyment and satisfaction in your job.