The Legend of Irreplaceable Developer

Eric Popivker
ENTech Solutions
Published in
6 min readJun 28, 2022

Once upon a time, there was a Sr Developer who thought he was irreplaceable. He worked for the same company since its inception. He architected the main web app and set up all infrastructure. He went through 5 CTOs, migrated from AWS to Azure and back, fixed innumerable bugs, and onboarded 10 new developers. Worked days and nights to keep the system running. Never took a vacation.

Then one day, he fell sick. Very sick. So he had to take a leave of absence for a month and was prohibited from any communication with his company. He was still constantly worried about the company, and when he came back one day, he expected the company to be in shambles. The developer was amazed to learn that things were the same as before, even better in some cases. He thought he was irreplaceable, but he discovered it was just a legend, a myth, an ol’ wife’s tale.

Development: Art or Craft

We would like to think of ourselves as artists doing creative work. And sometimes it is the case. But when was the last time you had to come up with a new development pattern or implement a faster version of binary search.

Most of our work is CRUD. With some integrations and cron jobs sprinkled in.

Yes, you have to know the fundamentals of Computer Science and a degree is helpful, but nothing that some aspiring developers could not learn in a bootcamp with a couple of years of learning at work.

These days we have IDEs like Visual Studio with IntelliSense, code completion, and refactoring that allows us to create software much quicker than in the past. If there is a bug or question, you can find an answer from StackOverflow or Google Search, in a couple of clicks. Nuget and npm provide thousands of packages that we can just download and use.

So what is it that developers still do? Most of the work has been already done. We are just building software out of legos.

Developer Value

You know what is Bullshit. It is when during the last annual review, your boss tells you that you are an integral part of the team and that they will do everything possible to keep you.

No matter what is your role on the tech team, you will get dropped like a hot potato if any of the following will happen:

  • The company gets bought and the buyer has their own devs
  • Downsizing during recession/downturn/pivot
  • Initiative to outsource to India/Mexico/Eastern Europe (yes it is still a thing)
  • New CTO/Team Lead comes in with their own ideas and devs that they used to work with

All of these have happened to me and at first, I was surprised. I was the developer who built and nurtured the system. It is my baby, dammit, so how can someone just come in and take over my fatherly duties. Very easily, that’s how.

Yes, there is a transition period, but even if you are being as unhelpful as possible, new devs usually figure it out, no matter the lack of documentation or how crappy the code is. It may take a couple of weeks or months, but the questions will dry up and you will not be needed anymore.

There are now even companies that bake the “Developer as Cog Wheel” right into their culture. Everybody likes a case study, so let’s do one…

Crossover

There is a company called Crossover (look it up). They hire developers offshore and pay them $10K-$15K a month (comparable US-based rates). They only hire the best developers and you have to pass many tests/interviews to get there. Imagine 36 chambers of Shaolin but even harder to get through. They also consider Devs as an easily replaceable commodity. Of course, they pay great lip service saying how devs are an important part of the company and loud their culture for keeping developers happy for a long time. But in reality, they treat developers the same as Amazon treats their warehouse workers. Developers are constantly pushed to their limits. They are monitored with software that randomly takes screenshots of what they are working on throughout the day. They are also tracked by every possible metric (just like Amazon). They are expected to work 40 monitored and fully focused hours per week, but we all know it takes 60+ hours to do to that. After about one or two years they are fully burned out and replaced by a new developer just out of Crossover Bootcamp. All shiny and chrome and full of energy, only to be a former shell of himself after Crossover is done with him.

And you know what- It works. Well except for the whole moral conundrum with sucking the life force out of human beings. But they are getting paid huge amounts (10X or more avg salaries of their countries) and they know what they sign up for, or do they.

The Replaceable Cog Wheel approach works with a couple of covets:

  • Only hire Sr proven developers
  • Have a good interview/onboarding process
  • Pay higher the market rate
  • A handbook that covers 90% of what devs do: CRUD, Integrations, Common Dev Practices, etc…

The part about monitoring and tracking devs is not really mandatory. You gotta do what you are morally ok with.

10X Developers

There is one small exception to the rule of being able to easily replace devs. 10X Developers. Those developers are very very few and far between.

They can do 10X work in half the time, that an average developer can do. Companies usually like to keep them under lock and key, and only let them out for an hour a day into a walled backyard.

Every time such dev threatens to leave for 2X salary, a company just gives him 3X to keep them.

I have known about 2 such developers out of 100s that I worked with. They really are like magicians with code and should be kept at pretty much any cost. But they are definitely not the norm.

What Devs Can do to be harder to Replace?

Here are some of the things that developers think they can do to make themselves invaluable to their company. But they are only kidding themselves.

  1. Don’t write documentation. There is no Documentation in Agile, amirigh? Well not really, but even without documentation, another developer can go through the code and after a lot of angry mattering will know how it works.
  2. Write crappy code that no one else wants to read/support. Same solution as in 1. Angry mattering continues.
  3. Own some core part of the system without communicating to other devs on what it does or how it works. This one is pretty good, but the same solution as 1. As long as code is shared in some version of source control, another dev can figure it out. Angry mattering reaches crescendo.

So as you can see, there is not really that much that devs can do to be irreplaceable. Angry mattering aside.

What Companies can do to make Devs easier to Replace?

In this day and age… At least BCC (Before Crypto Crash 2022), developers switched companies like underwear (Am I saying that people wear the same underwear for several months at a time? Yes I am.)

So companies should be ready that any dev will leave at any time. Lip service and 3% increases don’t work anymore. Did they ever?

So here are some things companies should do to make it easier to replace developers:

  • Setup standard for coding
  • Static code analysis
  • Auto Testing
  • CI/CD
  • Dev WIKI (read all about it here)

Even without these, it is still possible to replace any developer, just may take a bit longer to get new devs up to speed.

Conclusion

There are no irreplaceable devs (except the extremely rare 10X pokemon). Loyalty in the business world only goes so far. The days of working in the same company for 20+ years went the way of the boomers. Developers should never think of themselves as irreplaceable and always keep at least one eye open for new opportunities.

--

--

Eric Popivker
ENTech Solutions

Living in .NET world for 20+ years. Founder of .NET Fiddle.