Millions of lines of old code

Nowhere is age frowned upon more than in software development. I am not talking about the age of developers (though maybe that too), but the age of any technology. The desire to work with the latest and greatest is the hallmark of the industry. Ask any 'computer guy' in your vicinity which programming language they prefer and which language they don't like. Then, get some popcorn, sit back and enjoy. Every time you feel like, insert the following sentences to the monologue - 'I can totally see your point', 'Why would anyone in their right mind do that?', or simply 'Dinosaurs'. You have guaranteed entertainment for hours.

Another popular bragging topic is the number of lines of code this person is able to write in an hour or a day. It is the proverbial comparison of whose Schwartz is bigger.

These types of discussions were reserved to be had in rows of cubicles or during drawing sorrows in the neighborhood pub. But thanks to all the buzz about AI, these topics are now making the (almost) front pages of publications like the Wall Street Journal. The recent article How Morgan Stanley Tackled One of Coding’s Toughest Problems walks the reader through the intricacies of enterprise software development.

The article starts with the statement of the problem: 'Morgan Stanley is now aiming artificial intelligence at one of enterprise software’s biggest pain points, and one it said Big Tech hasn’t quite nailed yet: helping rewrite old, outdated code into modern coding languages.' and a little down, it continues with 'Modernizing legacy software has always been a major headache for businesses, which sometimes have code dating back decades that can weaken security and slow the adoption of new technology.'

As always, the statements are not quite accurate and the answer is more nuanced.

Yes, we are constantly told about the holy grail, when AI will be writing software either on its own or with just a few words vaguely describing the objectives. The term for it is Vibe Coding and it is the soon-to-become panacea. But before we get there we are faced with billions and billions of lines of code which we have to at least maintain or sometimes even improve.

It is a problem which every company is facing and the bigger the company, the bigger the problem.

In the above mentioned article, the global head of technology at Morgan Stanley describes how his firm is utilizing the latest tools. Rather than using off-the-shelf 'AI', the company built their own and trained on its own programming code.

What I found refreshing is that the fact that Morgan Stanley acknowledged that using AI to generate new code or translate code written in one language to another one is not mature enough for them to use in production. Rather, they are using the tool to go through the code and translate it to English, which then can be passed both to developers and the business people.

Both hugely benefit from this exercise. The developers can better and more quickly understand code which they didn't write and for which the original documentation might not be accurate (or exist at all). The business people can validate that the code still reflects the current intent and follows the required business processes.

Where the title and initial statement are a little bit misleading is to position this as a 'tough coding problem' and as one of 'enterprise software’s biggest pain points'. In fact, this is an organizational problem or pain. The life cycle of any application or program starts with business asking for a new functionality or system. Then a budget gets allocated, and a system gets built and put into operation. And that's usually where the interest of the business wanes away because it is working and no more (or not enough) money is allocated for the support and maintenance. Add to it that there are already several other (critical) projects waiting for the dev team to work on.

Time passes by, people move around or leave the company, technology changes and the know-how about the project slowly disappears. And that's how you start accumulating what's called the technology debt (which I even wrote about back in 2015). As with any debt, if you are not paying it down, it keeps growing and growing.

Every single organization is facing this issue and mature organizations are painfully aware of that.

In contrast, you get statements from the companies promoting their AI technology and claiming that 'In the next 3 to 6 months, AI will be writing 90% of the code, and in 12 months, nearly all code may be generated by AI.'

It can come only from people who never had to build and be responsible for a solution which lasts for decades. If your answer is that building anything for that long is like applying for a zookeeper job in Drumheller, I would like to remind you about your savings in the bank, your pension or your life insurance as a few examples where system longevity is important.

Recurrent pattern in all this? Don't get blinded by the latest hype where you are told to fire most developers, use AI to rewrite all your software and generate millions of lines of new, amazing code. That's for the naïve. Use technology to advance your strategy with surgical precision and flawless execution. And manage your tech debt wisely.

Next
Next

AI works until it doesn't