Ugly Code and Real Life

Can we be honest? The longer code lives, the uglier it gets. Seriously.

In real-life code, code that has some longevity to it, and code that has been through revisions, consultants, programmers of all types, and the mantra save all of the “if it works, don’t touch it” method of management, it is going to be ugly. Software that works makes money for the businesses who own it, make it and use it. This is true on all platforms. If it working and does the job, it stays.

Well, this is somewhat true. In the last several years coding and the art of software development have come a long way in most software development technologies. Clean code, standards of all sorts, DevOps practices, and the need to build incremental and growing services that work, can be deployed quickly, and are manageable have brought an increasing need for better methods, code writing, and developmental precision.

There are many ways to build that application. Microsoft .net, PHP/MySQL, JavaScript/nodeJS, Python, and a thousand more ways to Sunday. In my world which does include the above, is also the IBM i development that right now is on fire with awesome coding technologies. The core language of RPG is no longer that archaic and column-based green on black telnet code but is a powerful and modern language for those who choose to embrace it.

But with that said, systems with working software age and so have many of the systems I have worked on over multiple platforms and the ideas of the times. There is some really ugly but working code running on big iron (big systems working doing big things), that has not been developed in the last 8 years or so.

So the point of this is that there is some really ugly code out there. Working, yes. Ugly, absolutely. In real life, ugly code exists. I probably even wrote some of it. Software development is a constantly changing and evolving landscape. It pays (literally) to keep up and stay current.

All of this is most likely obvious to you if you are reading tech and coding blogs like this one. It is hard to get into old code and not want to rewrite it all. You can’t. Ugly code turns into technical debt and that turns into many other things in real life. The end users honestly don’t know or don’t care how much the code behind the scenes is a spaghetti mess.

No matter how ugly the code is a makeover won’t help. Sometimes in old code, the logic is so fixed into the methods used at the time it was written that it can’t go forward. At least not without a big effort to discover, analyze, and understand how it is used at all levels in the wild. Don’t forget to include QA and user testing, and a solid migration and change control operation. It can be done, but count the cost.

In all actuality, ugly code is running the world and everything in it. That is real life. That is why it counts to write excellent clean and forward-moving sustainable code and to deprecate methods and techniques that the coding industry has moved on from. Stay current, do good work, and don’t be afraid to be a leader and be wrong a few times.

Your code of tomorrow might be ugly someday, but honestly, that is the game we play. It is the code that you write today that counts.

Published by Mike Moegling

I am an out of the box programming artist and professional business geek. Working to bring fresh and new ideas, a sense of fun and adventure, and innovation to my world and work. Right now I am hot on application modernization and programming modernization for the IBM System I platform. But my interests don't stop there, topics like Web 2.0, project management, current business trends, United States and World news, executive trends, and all things programming.

Leave a comment