I, for the longest time, thought that peer pressure was something that we experienced in school and left it behind when we exited those gates. I was surprised to see that peer pressure existed in the workplace too…thankfully it manifests differently.
In the adult circle, especially the technologists’ circle, peer pressure seems quite dominant – the one working on the latest technologies, the ‘it’ systems and solutions seem to be the ones with the higher social currency.
Jokes apart, technological progress has been so prolific over the past decade that this term ‘software has eaten the world starts looking like an understatement. It only becomes natural for a technologist to want to work on the latest systems and with the latest technologies.
The demand for technologists with a great working knowledge of new-age technologies such as AI, IoT, Blockchain, Cloud, etc. only increases as futuristic technologies become mainstream. In the same breath, legacy technologies and systems gradually get frowned upon. If new technologies become the ‘must-have’, legacy technologies and systems become the ‘must go’.
What we need to understand here is that while legacy systems will eventually be replaced or reshaped, these systems and processes have been in use for a long time. They have shown reliability and have provided stability. And while technology is changing rapidly, organizations are still upholding legacy systems and networks.
According to a Computerworld survey, while 65% of businesses are not actively looking for legacy skills, 35% still look for programmers proficient with working on legacy systems to support critical legacy systems.
In the banking and financial services industry, legacy systems are a big reality. These systems are complex and under pressure from a lot of external factors – fast decision-making, regulators, thirst for information, rising consumer demands, etc. all are contributors. Now while these legacy systems present certain challenges, technology has never been better positioned to lend a helping hand.
The Legacy Myth
I agree that legacy somehow has attracted this connotation of being boring, scary, or risky. Technologists are avoiding working on these systems, or rather, are not attracted to working on these systems as they feel that maintenance work is all that they’ll be doing.
But what no one tells you is that working with legacy can also bring you learning opportunities. Since most of these systems host critical processes, getting down into the ground and getting your hands dirty becomes critical. How the system works, how it can work better, how it can do more, and how easily can you implement change or come up with solutions build your strength as a technologist.
Legacy will help your learning graph
I’ve heard this quote quite often “learn from other’s mistakes.” There’s a lot of learning involved when you have to redeem legacy code or build on it. Interacting with bad code helps you understand what kind of mistakes were made, what was the impact of those mistakes, and gives you clarity into things to avoid when you are building on legacy systems. When the code is good, you learn about great maintenance practices and understand how to build a great maintainable application.
Gather domain expertise
It is essential to have domain expertise to succeed as a technologist, especially in sectors such as banking and finance that have a different playbook altogether. Working with legacy code helps you interface with the complexity of a real business application in the right context. In banking, for example, you’ll learn about federal regulations or internal controls, etc. things that you’ll never get exposure to anywhere else.
So, the next time you have to build a solution, be it on legacy technology or with new technology, you can do so with complete confidence.
Legacy needs good systems
You might assume that something that was built 15 years ago in a language that you don’t prefer is bad. But it is nothing more than a misconception. It has been running successfully, and helping the organization conduct business is testament enough of its capabilities. At the same time, it gives you enough opportunities to design robust, easy to maintain systems that will be conducive to evolution. Developing new modules and systems will need strong fundamental knowledge and great domain expertise. It will give you opportunities to develop strong systems that will only help you progress as a technologist. Because, let’s be realistic, scraping away everything and building from scratch is not a viable solution in the context of established organizations and sectors such as banking.
Clearly, in such an environment, you won’t just be working on legacy code and managing only its maintenance needs. Given the culture of constant innovation, the industry now needs technologists with a good understanding of legacy technologies to act as a bridge between new technologies and evolving systems and legacy systems.
New technologies are not the stepchildren
Unfortunately, we have taken quite a black and white approach towards legacy and new, modern-day technologies. But we need to realize that for one to be good, the other does not have to be bad.
New technologies are taking our world forward and compelling us to relook at our old systems. It is a great playing field for young technologists who can explore technology choices to build new, robust systems that will deliver a business advantage.
Working with new technologies is a great idea, especially when you are designing solutions for startups because here, you start with a clean slate. There is no cleaning up, patching up, or fixing needed. However, to create great solutions, you can’t just focus on the technology. To grow as a technologist and further your career path, you also need to assess the problem you are trying to solve, the approaches that have been taken so far, and how successful those approaches have been. If any solution has failed, you need to assess why that was so. Only upon this evaluation should you decide on which technology you should employ and prepare to design the solution.
In my experience, I have seen those technologists become massively successful who have not played the favorites card but instead have focused on what is the right technology solution to address a business need.
Just like entrepreneurs, technologists too must possess the ‘growth mentality’ and treat every hurdle as a learning opportunity. Technology is, after all, a means to an end and not an end by itself. So, while you must focus on learning new technologies and skills, it’s essential to build your domain expertise. Only then will you be able to design solutions that will work in the real world.