Recently, in the news, New Jersey Governor Phil Murphy asked for professionals who know COBOL programming language. “On our list of volunteers, not only do we need healthcare workers, we need engineers with COBOL skills,” said Phil Murphy, governor of New Jersey, in a media statement.
What happened is that the state unemployment insurance systems couldn’t handle the increase in traffic, because they were written in a decades-old programming language, known as COBOL. New Jersey is one of the many US states relying on legacy systems written in COBOL for mission-critical applications. But, what’s the big deal with this language?
COBOL (Common Business-Oriented Language) was created in 1959 as part of a US Department of Defense project to make a portable programming language for data processing. Its portable nature meant it could be utilised in a large variety of hardware platforms and operating systems.
COBOL had been utilised in applications deployed on mainframe computers back in the day. And today, it is used for large-scale batch and transaction processing jobs. But, due to its decreasing popularity over the decades and the retirement of experienced COBOL programmers, programs are being migrated to modern platforms, rewritten in modern languages or replaced with software packages.
This language is still used to process banking transactions across the globe, dealing with trillions of dollars worth of assets every day. COBOL powers 220 billion lines of code until now by large companies, governments, and banks. In fact, it is considered to be the foundation of 40% of all banking systems around the world. So, it can still prove to be a lucrative option for programmers because so many firms with legacy systems may want to migrate, and at the same time, there is a dearth of qualified experts.
COBOL Developers Are Hard To Find
There is a strategic value of COBOL applications to critical businesses, at the same time, there is a dire need for COBOL developers because the world doesn’t have many. For it is a very old language, it means that the average age of someone who maintained these systems is generally older or retired. And most young developers generally haven’t learned it because it is no longer relevant.
While it is a relatively easy language to learn, COBOL is not liked by developers for its design process and poor support for structured programming. Modern languages such as Python, C, Java, etc. with their large open-source libraries have emerged around the newer languages to make developers’ lives easier and contributed to COBOL’s image as being outdated.
Technical Debt In COBOL Systems
In the analysis of legacy systems, analysts see large amounts of applications written in COBOL language. There is also technical debt that has gotten accumulated in systems powered with COBOL and affects the performance of the systems as it slows them down. If enough technical debt accumulates, the code will become difficult to work with and limit new software functionalities.
So, how do you deal with the technical debt? To solve technical debt in legacy systems, it needs deep analysis of the COBOL code to extract its engineering design, and this is where experts are needed. This is determined by the strategic alignment of COBOL systems through modern-day technology.
The Challenges Of Software Modernisation
Software modernisation is favoured over the replacing and retiring of older systems. It may not just be hard but also may turn out to be a cybersecurity accident, because these applications are integrated with tax data, social security, and other banking and government-owned information, regulated by all kinds of security/compliance frameworks that are difficult to change.
According to a survey, 70% of enterprises support modernisation as a suggestion for implementing strategic change as compared to the replacing of key COBOL applications, as it remains to offer a low-risk and effective means of modifying IT to support critical business initiatives.
Also, the initial code was not documented well, and organisations do not want to make a big error while improving the code, which is a tremendous challenge. To make it work, programmers wrap the legacy applications code up in a microservice written in JAVA to create modern functions, so the banking systems can interact with a web frontend.
COBOL experts can analyse the software engineering, translate it right so code can be rewritten in a modern-day language for legacy banking systems. The applications’ code has to be translated and replaced so the legacy system’s functionality can be rebuilt on newly written applications. The concern is that the many complex database/file system interfaces can be hard to replace without breaking something somewhere.
With work-from-home norms, a lot of companies have been looking to migrate their databases from mainframes, and for that, they need COBOL experts. We’re talking about some very critical infrastructure here, which was built years ago. Now, if virtual platforms become the new norm, demand for COBOL programmers is going to remain high in the coming years. In fact, a large number of banks in the US have posted job openings for COBOL positions.