Code is a liability, not an asset

Car usage happens in different ways. (1) You can buy your own car, drive around and do routine maintenance and repair. (2) You can lease/rent a car where the lessor takes care of maintenance and repairs and charges you a fixed fee + fuel (3) You can hire a taxi short or long term and pay a negotiated rate which also comes along with a chauffeur.

You don’t have a fixed mindset of outright ownership of option 1 whenever you want to use a car. Outright ownership is a liability which is offset with overall running costs over years compared to leasing/renting and hiring a taxi. Code is similar. Every line of code written by you or your organisation is a liability that will be offset only by long term returns on the deployment.

Code maintenance has always been difficult. Code once written never stays in the original environment it was written. There are ecosystem updates, security requirements, business needs, operating system changes that needs constant update to the code. This constant adaptation is required to keep it alive. This constant adaptation over time leads to poor documentation resulting in loss of institutional knowledge, poor hacks to meet the deadlines compromising security and increasing architectural debt, insufficient testing leading to bugs over time accepted as undocumented features which will survive future reverse engineering efforts.

I have often observed that when I hand a over a well architected, documented and tested code after an engagement; then come back a year or two later, the code is spaghettified. So any code how well written it is, it stares down the path of poor maintenance. The more the volume, the poorer is the maintenance.

Photo by Markus Spiske on Pexels.com

When I interact with my clients, one thing they say is that “I can build any software I want from scratch with Gen AI”. It has become so cheap that I do not want to buy software any more. While creation is cheap, it is not easy to inherit volumes of code and keep it running as per our needs. Every line of code you own is a liability, it is not an asset. Only your own USP should be your code, the rest should be someone else’s code.

Leave a Reply