Earlier this month, New Jersey governor Phil Murphy said he is seeking COBOL programmers as its systems handle more load in the coronavirus crisis.
- Earlier this month, New Jersey governor Phil Murphy announced he was seeking programmers with experience in the COBOL language to help the state's software systems deal with the huge spike in unemployment claims.
- COBOL is a 61-year-old programming language for mainframes that was made obsolete a long time ago — but that still persists in some of the most crucial banking, telecommunications, and government software. IBM still does a brisk business in mainframes and COBOL technology.
- However, talent is hard to find: Despite training programs from the likes of IBM, most new computer science graduates learn more modern languages like Java or Python. That's led to a talent shortage, even as some programmers come out of retirement to pitch in with their COBOL expertise.
- COBOL persists for two major reasons, experts say: First and foremost, it still works, making government agencies especially unlikely to incur the costs involved in switching. Second, the programmers who built much of that critical software have long since retired, and don't always leave documentation behind.
- Experts hope that the troubles that New Jersey and other states are having with COBOL serve as a "wake-up call" for governments to modernize and move away from mainframes, before the talent pool dries up entirely.
- Visit Business Insider's homepage for more stories.
Earlier this month, New Jersey Governor Phil Murphy made an urgent call for programmers who have experience with COBOL — a programming language over 60 years old — to help the state deal with the coronavirus crisis-driven crush of unemployment claims flooding its decades-old mainframe systems.
New Jersey isn't the only one having problems. Alaska, Colorado, Connecticut, California, Iowa, Kansas, and Rhode Island also use this aging programming language in their unemployment systems, a survey from The Verge found.
COBOL was first created in 1959, under the authorization of the Department of Defense. It was designed for business, finance, and administrative systems — specifically, to power critical software running on the room-sized mainframe computer systems of the day, manufactured by the likes of IBM and Hitachi.
"It's a great language for that era, especially with mainframe computers which is where it began its life," Joseph Steinberg, a cybersecurity consultant, told Business Insider.
"People aren't teaching COBOL in schools anymore," Brandon Edenfield, managing director of app modernization at Advanced's Modern Systems, told Business Insider. "As people retire, you're not going to get the talent you used to get. It's just been left behind...As we're seeing in New Jersey, there's some risk to that."
Indeed, state governments (like that of New Jersey), the military, and many banks never stopped using mainframes to run certain critical software. IBM says that its Z series of mainframes is in use at 70% of the Fortune 100. But as the cascade of unemployment system failures shows, COBOL doesn't always scale up to meet the needs of today.
That's resulted in the state of affairs today, with IBM now scrambling to provide free COBOL training to meet an unforeseen resurgence of demand. Steinberg says the fact that the governor of New Jersey had to take the time to plea for help from COBOL programmers amid the current public health and economic crisis shows how severe the issue is.
"To escalate up to him and take his time to talk about it at this time during this emergency, you know this is a serious matter," Steinberg said. "It was escalated during the biggest emergency he's ever dealt with."
The last time there was an urgent call for COBOL experts was the late 1990s, when some of the first wave of professional programmers came out of retirement to help the world prepare mainframe systems for the Y2K bug
"If it was a problem 23 years ago, you can imagine what it's going to be like now," Steinberg said.
'We have a system that's worked for 38 years, and we're not messing with it'
Unfashionable it might be, but COBOL was never fully phased out of use. Barry Baker, vice president of software for IBM Z mainframes, says COBOL is still heavily used among its clients. He estimates that there are 200 billion lines of COBOL code being used in the public, financial, and telecommunications sectors, among other industries. It may be slow and clunky compared with more modern languages, Baker said, but COBOL is also highly reliable.
"It's there to provide a language that can help with creating mission critical and core systems of record applications and databases," Baker told Business Insider. "It's definitely a business-focused language. You're not going to use it to create a webpage or fast-prototype something."
Many of the older systems that use COBOL are still around today because they still work just fine, meaning IT departments don't want to mess with success, Steinberg said. And even if they wanted to modernize, Steinberg said, it's easier said than done: The original programmers have often long since retired, and they don't always leave documentation to help the current generation figure things out.
"They're saying, we have a system that's worked for 38 years, and we're not messing with it. 39, we're not messing with it. 40, happy anniversary, we're not messing with it," Steinberg said. "It's not going to be a fast fix when you have an emergency situation written in a language that has a generally older population that knows how to use it."
Steinberg says that while banks and other organizations that relied on COBOL have started replacing their systems with something a little newer in the smartphone era, many states haven't due to budget and political reasons.
"If I have a system that works, it's hard to justify allocating tens of millions of dollars to replace a system in order to have the same results in the short term," Steinberg said. "Do we have enough money for people to collect unemployment or replace the system? A lot of our politics is about thinking of short term benefits to taxpayers and to residents."
It's no quick or easy project to replace these old, established systems, and it often takes an emergency for the government to realize that there's anything wrong at all. Steinberg said that he hopes that the current state of affairs demonstrates the value of taking the time to finally evaluate the older mainframes.
"Maybe we are going to have to tell our taxpayers, yes, we do need to invest upfront because at some point there will be an emergency, and there can't be that kind of disaster," Steinberg said.
'The fact that we have to hire people out of retirement is not a good sign'
IBM, for its part, has continued development on COBOL, the better to support those customers still stuck on it. Even before New Jersey's problems dragged COBOL back into the limelight, Baker says that IBM had been working with state governments to deal with the increased burden on their systems. It also works with 4,500 schools to train students in COBOL and mainframe technology.
Now, IBM has started a forum to connect state governments with COBOL programmers, with participation from 1,100 experts so far. It also started a technical forum for people to ask and answer questions about COBOL, as well as free online course material to teach the language.
"We've got to do the work to create the pipeline and go do the recruiting," Baker said. "That's what we enable a lot of our clients to do. We're helping make sure they've got a steady stream of technical talent to work on these technologies."
Likewise, Steinberg says that he's already received about a thousand messages from people volunteering to help program in COBOL, and the vast majority are already retired. He says he even received a message from an 85-year-old programmer. However, he adds that "the fact that we have to hire people out of retirement is not a good sign."
Also, Steinberg and Edenfield say it's not as simple as taking a crash course in COBOL. Volunteers would also have to look through the code in the government's unemployment system and try to figure it out. And in a government system, there could be unanticipated consequences to making big changes, which could lead to catastrophic problems under current circumstances.
"Even if they get 100 programmers, they still have to understand what the systems do," Edenfield of Modern Systems said.
A 'wake-up' call
This crisis could be a "wake-up" call for state and local governments to do technical evaluations, Edenfield says.
Steinberg and Edenfield agree that the government needs to do a comprehensive analysis on if these systems should be changed out, or if mainframes are still the best way to handle the problems they're supposed to solve.
Ultimately, experts say they don't expect COBOL to be completely phased out. Baker says that while some clients may completely overhaul these systems, others will continue working on these legacy systems, but build on them with more modern languages like Java or Python.
"Very rarely does technology come in that wipes away the past," Baker said.
If state and local governments don't move quickly, experts say it will be an even bigger problem in the future as the number of COBOL programmers continues to dwindle. And while IBM is working with schools to teach it, Steinberg says most students aren't going to want to learn COBOL because it's not as relevant.
"You have people 50 years old and educated and working in computer science their whole lives who have not seen a line of COBOL," Steinberg said. "Why did this happen? More and more people wanted to code things that were visible that users would see, new things."
In other words, it may already be too late to move away from COBOL without breaking things, Edenfield said — but that there's no better time to figure out an exit strategy from mainframes that minimizes disruption.
"At least have a plan ready and start to execute that," Edenfield said. "One size doesn't fit all in this. I think we're seeing these applications are fragile. When they break it's not usually at the best time. We hope people will recognize it's time to take action."
Got a tip? Contact this reporter via email at firstname.lastname@example.org, Signal at 646.376.6106, Telegram at @rosaliechan, or Twitter DM at @rosaliechan17. (PR pitches by email only, please.) Other types of secure messaging available upon request