Recently at work I was asked to find out if anyone was still using a small tactical program I wrote. If it was unused, they apologetically asked me to shut it down. No apology was required, but I understand why it was offered. Some developers can become quite precious about their code and want to see it keep running forever. However, after working in this fast-paced industry for nearly 15 years I have long accepted that most of my code is no longer running. I’d be lucky if most of it is even still backed up somewhere rather than being sent to /dev/null.
Four of my old teams were shutdown with near total loss of code. Another two years were spent at a consulting firm where most of the clients I serviced no longer exist. Those 5 jobs combined mean that half of my working life’s production is largely gone. At a guess I would say 10% of the code from my first five working years is still used; around 30% from the second five years; and, over two-thirds of the last 5 years of my code is currently running. My professional code appears to have a half-life of around 4 years. This sounds about right considering the rate of technology change.