Will artificial intelligence replace software programmers and developers? The question seems somewhat ironic if you think about it. Are intelligent systems—set to replace or displace their creators? The answer depends on who you ask. What we can be certain about is that should the financial industry remain dependent on outdated, mainframe computing, there could be another financial crisis – AI and automation are needed in the evolving industry.
The fact is that AI-driven tools will ultimately help an increasing number of people be better at programming, but not any time soon. It’s no secret that programmers use every tool at their disposal to help them automate their efforts. AI supports programmers, instead of doing all of the work for them. Most of the new AI-based tools improve accuracy and performance through machine learning.
These are the views of Steve Brothers, President at Phase Change. Brothers joined Phase Change as the COO in 2018, bringing over 30 years of experience in technology-related organizations with leadership, technical and sales roles in industries such as financial services, healthcare and services. Previously, Brothers held positions as CEO at Ajubeo and Executive Vice President and CIO for Urban Lending Solutions. Speaking to The Fintech Times, Brothers said:
With 92 of the world’s 100 largest banks still using mainframe systems to provide banking services and quickly process voluminous complex transactions, the financial industry’s dependence on mainframe computing could trigger the next global financial crisis.
For decades, mainframe systems have served as the foundation of IT systems in the financial services space. Way back in the ‘60s, banks invested in mainframes to support data processing requirements, from transaction accounts and loans to mortgages and payments, and these systems continue to run in largely the same way now as they did when they were initially deployed.
Mainframe systems provide ultra-tight security; high-speed, high-volume transaction processing; and reliable uptime, ensuring that not only are systems of record secure and accessible but also that important transactions are continually processed as well. Their speed, security, reliability and stability make mainframes quite popular with banks and other financial institutions — so much so that more than 70 per cent of banking corporate data resides on the mainframe, and experts estimate that these systems power up to $3trillion in commerce every day.
The Issue with Mainframe Modernisation
Unfortunately, mainframe systems can be complicated to use and require rigorous processes to be sustained. Plus, as banking services supported by cloud mobility, automation and big data continue to come online, mainframe modernisation becomes a significant issue, because legacy applications frequently struggle to evolve fast enough to support the shifting, evolving demands of modern customer interaction and finance.
Despite the industry-wide desire to upgrade legacy systems, mainframe applications do not readily support newfangled technology-driven financial services that open up new products and revenue streams. Yes, mainframes can run newer applications and systems, but when companies in the financial services sector try to add such functionality, whether building on top of or around existing applications or moving the application entirely to another platform, that’s when problems frequently arise.
Supporting and modernising complex mainframe applications to keep pace with the rapid speed of modern finance is challenging. Since mainframe management and modernisation require in-depth knowledge and experience, the diminishing pool of developer talent means internal teams only touch mainframe systems in rare circumstances, instead relying on third-party support firms to bridge the growing knowledge gap and make necessary changes. Worse yet, these critical systems include millions of lines of interdependent code that increase the system’s complexity, making it extremely difficult for developers to comprehend the system as a whole and find the source code that might need to be updated. This is a little like looking for a needle in a haystack, or, more accurately, a needle on a multi-acre farm.
Plus, when a developer makes changes to one area of the system without realising how that change could impact other parts of the system, the results could be devastating. For most financial institutions, any downtime is untenable due to lost revenue and incalculable reputational risk. If customers cannot check their account balance or withdraw money from an ATM, those service disruptions could result in customers taking their business elsewhere.
So, how can banks and other organisations in the financial services space diminish the risk (and costs) associated with making code changes to their systems while delivering substantial productivity gains? By leveraging the power of automation.
How Artificial Intelligence Helps
Artificial intelligence is already utilised by financial industry players to automate investments, insurance, trading, banking services and risk management. Now AI can be used to automate code maintenance by helping developers better comprehend the codebase — and make changes rapidly and precisely.
With programmers ageing out of the workforce (or charging a pretty penny for their time), mainframe systems are less understood by the financial institutions that rely on them on a daily basis. Sure, most programming languages are meant to be easy to read and understand, but disentangling the logic previously encoded in the program to make new changes often becomes a tedious, time-consuming endeavour in which developers reverse-engineer code to determine the intent of the original developer.
To that end, developers spend about three-quarters of their time searching through, querying and understanding code to find and fix bugs or make necessary changes. And even though code search tools, linters, and static and dynamic analysis tools can help developers improve their efficiency and effectiveness, such tools remain inadequate when it comes to helping developers make timely changes without exerting a significant amount of cognitive effort. To make any necessary adjustments to applications, software developers still have to build a mental model of what the code does, which is a time-consuming, mentally challenging and error-ridden process.
Rather than asking ageing and/or expensive finance technology professionals to pass along their specialised domain and program knowledge, financial institutions can now deploy advanced tools powered by artificial intelligence to automate the process of identifying the specific code that requires attention, regardless of how entangled that code is throughout the system. Developers can “ask” AI-powered tools where a specific behaviour in the code is, and the AI will guide them to the code associated with that behaviour using a collaborative approach known as augmented intelligence.
But we cannot rely on AI alone. Discerning the true intent of an application’s functionality is far from simple, and making changes to a program’s code requires different cognitive processes than writing code. While AI tools can write simple code, they have no way to determine which features to prioritise or what business problem a piece of software in development would address. Only an experienced programmer can craft code based on a thorough understanding of business requirements. Furthermore, programmers can make sense of complicated questions that don’t have exact answers or multiple possible responses, which is another activity that AI simply cannot execute.
With AI, developers can easily find the precise code that needs to be updated, so they can spend more time fixing and making updates instead of poring over millions of lines of code. AI tools reinterpret what the computation represents and converts the code into concepts so that the AI can “think” at machine speed in a way similar to humans. When that capability is coupled with developers using augmented intelligence, developers save a significant amount of time. Leveraging a neoclassical approach to AI that includes the ability to symbolically represent the code, advanced tools can “know” in advance all behaviours without the necessary searching and understanding undertaking to get to the specific lines in question and verify whether a proposed change is isolated.
No, AI tools should not yet be used to make code changes on their own, but they can augment human developers by directing the developers to precisely where any changes need to be made so the updates are made with minimal risk. In the face of a growing developer shortage, progressively innovative means of delivering financial services, and the increasing cost of mainframe management and modernisation, the financial sector is staring down an impending crisis. However, by empowering developers with the right AI tools to quickly and accurately find the code that requires attention, AI saves both time and money while, more importantly, minimising the risk involved in making changes in complex mainframe systems powering financial transactions.