Don't Be Irreplaceable
My first job after I moved to Canada in 2007 was interesting. I was hired by one of those large outsourcing companies, which then allocated me full-time to a single client. In this case, it was one of the top banks in the US. I was made part of what they called UnixOps, which had about four other people in Halifax.
Our counterparts were full-time employees of the bank itself, headquartered in New York. At the start of the engagement, we went to Wall Street for a month to meet their team and receive training.
Sure, their system was complex, and understanding it well was important. But our outsourced team’s role was very small compared to everything under the UnixOps umbrella. We were mostly told what not to touch, rather than what we should be doing.
To this day, I remember seeing an alert on a specific server. As I connected to check the problem, a large banner took up my entire console screen: “ANY ACTIVITY ON THIS SERVER MAY BE DETRIMENTAL TO YOUR CAREER.”
I disconnected and escalated to the full-time employees.
In any case, one of my tasks was to wait until around noon, when some servers on the West Coast would run a batch job and generate hundreds of alerts and reports. Our duty was to check them, find which ones needed action, and route them to the right team. Hardware issues went to the data centre operations team. Software issues were categorized and either routed to a team in India or escalated to the full-time team in New York.
It was a well-documented process, with a proper runbook for every single error. So it was a very menial job.
Well, I was idle most mornings, so I quickly got cracking on automating the error parsing. At the time, UnixOps was a Perl shop, but a few people were playing around with Python, which I liked more, and I started getting involved with the local community. I don’t think it took me more than a few months to automate the work completely.
That mind-numbing afternoon of looking at hundreds of alerts, checking them against the runbooks, and manually routing tickets, sometimes with two people on it, was now parsed within minutes by a single script.
I made myself obsolete.
So I quit.
Everyone was happy. My ex-boss and me.
I know how that sounds. A lot of people would see that story and think I shot myself in the foot. Why would you automate away the very thing they are paying you to do?
The script made the work obsolete. It did not make me obsolete.
Nobody is irreplaceable. And the people who are almost irreplaceable are completely unpromotable.
I have been saying some version of that for most of my career.
A few years before Canada, I was working at a large company, as a dedicated resource for a single customer. I wrote about that place in Chauffeur Knowledge. Part of our job was a monthly capacity planning report for every location we were responsible for. Each of the ten people on the team covered twenty or more locations, with four to six graphs each, imported from our monitoring tool into an Excel spreadsheet. It took each of us about four hours. Forty person-hours every month, just to prepare a report.
After three or four months of that, I got tired. It was hard and boring work, and there had to be a better way.
So I spent two full days learning Excel macros and wrote a script that pulled every graph on its own, with the fonts and colours exactly the way people were used to. I handed it to the team, and everyone loved it. The report became a fifteen-minute job.
That, along with a few other improvements the team made, won us an award. Later, I got transferred to the department I had always wanted to join, dedicated exclusively to projects.
Nobody asked me to do either of those things. And in both cases, I was the one who could have ended up “not needed anymore.”
But think about who gets the interesting next assignment. It is not the person who is the only one who knows how to run the monthly report. That person is stuck running the monthly report. Forever. Because if they leave, who is going to do it?
I have worked with people who refused to automate anything because they would have nothing left to justify their position. Others skipped documentation on purpose, hoping to become indispensable.
Ironically, the bank job only worked because of documentation. Someone had taken the time to write a runbook for every single error. That is what made the work easy to hand off, and also easy to automate.
Documentation, checklists, and scripts are not chores. They are how you hand work off. “Hey, can you take this one? Here’s the runbook.” Every time you can say that, you free up a little more of yourself for something bigger.
And as I wrote in Do It for You, the work stays with the company. The skills stay with you.
Now, the exceptions.
Not every company rewards this. Some quietly reward the hoarders. Some will look at the person who automated their own job and decide that job is no longer needed. That can happen. Either of my stories could have ended differently with a different boss.
If that is where you work, the lesson still holds. You just apply it on your way out. I have done that too, as I mentioned in Doing Interesting Work. Being easy to replace makes it a lot easier to leave.
These days, I tell every client the same thing: my goal is to make myself obsolete.
It is the job. Write it down, automate what you can, hand it off, and leave things better than you found them.
Then go find the next interesting problem.
If your business depends on one person who knows how everything works, I can help you get it out of their head and into something the whole team can run. Here’s what I offer.