When building it is worth sparing a thought for those who will maintain the system and how the system will evolve seamlessly in the future.
If you work with technology, front or back end, you may have come across some systems that have evolved to become monsters in the company. In some case, when asked to modify some functionality, the developers break out in a sweat because they know they are going somewhere and do not know when, if at all, they will return.
There was a time when it was fashionable to create codes and put the business logic in triggers in the database (Cringe!)—the computer dark ages. Then we had several generations after, where more code was built upon this not so great foundation.
Fast-forward years later, you are asked to make some changes, and you attempt to make one change and discover that the effect ripples across many “hidden” entities which in turn affect the business processes.
So are we out of the woods? Well, a better question to ask is, do those legacy systems still exist? Unfortunately, they still exist, and the concept of “if it isn’t broken why fix it” is still alive and kicking.
To be clear, I speak of monolithic systems. I won’t name names, but they are everywhere, and these systems are used every day to develop even more monolithic systems.
These systems are hard to refracture or migrate, and the mere thoughts of analysing these send shivers down the developer’s spine.
It is not only the refactoring that is the problem; it is the fact that these products do not scale.
I know some companies have made an effort to say their monoliths are scalable and use all the buzz words, but the fact is, these products do not scale. Under the hood, they are mere monoliths.
Fast forward to the year 2040, the world is different; people rarely talk to each other. Everyone walks about virtually. You are sitting in your living room, and you think ah, I have run out of milk I will go to the shop. Instead of turning on your device and loading an application, you get into your virtual car and go to your virtual supermarket. You walk into the supermarket and see others there, the shops are all stacked nicely, and you pick a basket and pick put things in your basket and pay.
How is this possible? Well, you have a chip that uniquely identifies you. When you put your clothes on, it knows what clothes you have on because this is also tagged. When you go into the shop virtually, you appear as you because you are all chipped up and wired to a giant computer. Your chip is also linked to your bank, tax and all the internet of things.
Next, you hear the doorbell ring, a drone drops your delivery, yes the chip knows where you live so you do not even need to enter your address. Your little robot picks your delivery and unpacks.
So who are the developers? Are they humans or robots? What are the developers in 2040 thinking of what we are doing now? Code today is the legacy code of the future.