The COVID-19 outbreak in New Jersey has Gov. Phil Murphy on a search. A search for personal protective equipment for health care workers, medical volunteers — and coders fluent in COBOL, a computing language popular in the 1960s and ’70s that helps run the state’s unemployment insurance system.
Murphy first made a public request for COBOL programmers last weekend.
“Not only do we need health care workers, but given the legacy systems, we should add a page for COBOL computer skills because that’s what we’re dealing with in these legacies,” he told his staff during his daily COVID-19 briefing.
The call-out served as a reminder that many computer systems across different state agencies are wholly or partly written in the old-timey processing language.
The governor didn’t cite the specific issues the code was causing in processing unemployment claims in the state, though experts say it’s possible the code was not written to process tens of thousands of applications at a time. The volunteers may be needed to tweak that code to increase processing capacity.
In the span of a week, unemployment claims increased by 1,600% in New Jersey, according to Rob Asaro-Angelo, the state’s commissioner of labor and workforce development. More than 575,000 residents have submitted claims since mid-March.
The record levels of demand have made it difficult for applicants to get through to the website. Asaro-Angelo advised applicants to try submitting their forms either in early morning or late evening, when traffic is the lightest. Phone lines have also been jammed, despite staff working overtime. Even an application that does make it through the web portal may experience processing delays if the claim requires an agent to review the form.
“Imagine a stadium with 10,000 seats but there are 1 million people waiting to get in,”
Asaro-Angelo said during a COVID-19 briefing over the weekend. “There are only so many who can get through the gates at one time.”
Why is COBOL still around?
COBOL was once considered cutting-edge code that told centralized computing hubs, or mainframes, what to do with data coming from hundreds of locations.
“The really first killer applications for computing technologies were these large mainframe technologies that kept track of fairly boring data — things like health care records, things such as job records, things that would normally be kept on file cards back in the really old days,” said Kurt Rohloff, an associate professor of computer science at the New Jersey Institute of Technology.
COBOL and mainframes’ ability to manage large data systems led to the language’s widespread adoption by government agencies, according to Rohloff.
Major banks and federal agencies such as the Internal Revenue Service use COBOL. The Social Security Administration still used more than 60 million lines of the code in 2018 — though major modernization efforts are underway.
The problem with legacy systems is not so much that the code or hardware don’t work. Rather, they were programmed with different design constraints, say a limit of 5,000 unemployment claims per day, or haven’t been managed properly.
Take the Y2K scare, when people thought the world’s computing systems would come crashing down on Jan. 1, 2000. The code for most systems predating 2000, mainly in COBOL, wrote years using only the last two digits to speed up processing — never taking into account what could happen when a computer tried to distinguish between the years 1900 and 2000.
In the case of unemployment applications, it’s possible the system’s original design assumed only a certain number of applications per day, week, month, or year.
An easy way to think of these systems and their capabilities is to compare them to a personal computer from 10 or 20 years ago, said Rohloff.
“It was perfectly fine when you didn’t have the internet and didn’t have to process big videos downloading from YouTube or Netflix,” Rohloff said.
But the issue of maintaining code for modern times is exacerbated as schools stick to teaching more modern coding languages.
Young programmers also tend to want to learn the latest technology and “build systems for computers, build new things,” said Joseph Steinberg, a cybersecurity and emerging technologies adviser.
“Nobody wants to be working on a system and say, ‘Well, I kept the system that was written in the 1970s up and running and you can’t really see it, but if you’re ever unemployed and you get a check, that’s what prints the check,’” he said. “Nobody wants to work on that. Nobody is studying this stuff.”
Still, there’s a chance the problem is not the code at all, but rather raw computing power to deal with an onslaught of people flooding the system.
Steinberg said the state can’t simply buy more computing power.
“Mainframes aren’t the kind of things you go on Amazon and place an order and have it shipped by Prime and arrive in two days and turn it on and it works,” he said. “Even if you could throw more hardware at it, it wouldn’t be an overnight fix, especially under the current emergency circumstances.”
Chris Rein, New Jersey’s chief technology officer, declined to comment on the record about the governor’s call for COBOL programmers, but echoed Steinberg’s concerns about the state’s computer hardware in an emailed statement.
“The challenge we have been proudly meeting is more one of scaling the state’s unemployment computer infrastructure, rather than the specific language these systems are written in,” Rein said.
The state has employees who know COBOL, according to the Office of Information Technology, and they’ve been working to keep the system operating as thousands of applications come in.
Still, New Jersey has created an online web form where technologists can sign up to volunteer during the COVID-19 outbreak — much as how the state has sought medical volunteers.
Those volunteer programmers who know COBOL would likely be older people more vulnerable to complications from contracting COVID-19. The state hasn’t said if volunteers would have to go into state offices, and it’s unclear how quickly volunteer COBOL developers could be deployed by the state.
Going modern costs time and money
Though Steinberg argued it’s the only way to prevent another Y2K or the need to recruit retired COBOL coders, overhauling these systems is expensive.
Rohloff said there’s also “a tax from the old to the new” when switching out of legacy systems. Staff needs to be retrained, and new maintenance cycles need to be put in place for the software.
“There’s the process of moving data over,” he said. “When do you turn one [system] off and turn one on? How do you move out the old system? There’s all this extra overhead associated with that.”
Such was the case in Pennsylvania.
That state began upgrading its unemployment claims system, run through a 50-year-old mainframe that operated with COBOL, in 2006. By 2017, the project was over budget, totaling $350 million, and was considered a failure.
The state looked at new modernization proposals that year and projected the new effort would cost an additional $64 million.
“Our current legacy system is decades old and requires multiple systems and logins to perform day-to-day job functions,” the Department of Labor & Industry said in a statement.
The department has been working to upgrade the system and anticipates “that occurring this fall.”
Pennsylvania’s new system is expected to streamline the claims process and provide applicants with real-time access to claims information. But for now, with increased mainframe capacity, the Department of Labor and Industry said its system is handling applications steadily and “without any major hitches.”
Except that the online claims portal has crashed multiple times.
More than 1 million Pennsylvanians have submitted unemployment applications during the coronavirus shutdowns, second only to California, according to data from the U.S. Department of Labor.
According to experts like Rohloff, government agencies should give ditching legacy systems some serious thought before proceeding.
“Having an allergic reaction to legacy systems is a little bit silly on some level,” said Rohloff. “These things work, they’re already paid for, people are already trained. Then again, sometimes, enough is enough. If you have a system that’s not working, then it makes sense.”