Where's my check? COBOL's role in delay of stimulus and unemployment payments

With job losses and income plummeting thanks to the coronavirus pandemic we need money as fast as we can, but government systems written in the old COBOL computer language are blocking us from our cash.
Written by Steven Vaughan-Nichols, Senior Contributing Editor

The last thing you need when you've lost your job is to be unable to file for unemployment. Or, if you're short on funds, to be stuck waiting for your stimulus check. Unfortunately, that's exactly what's happened to many of us. Most of the blame for that has been piled onto the 60-year-old COBOL language. That's because the underlying software for many state unemployment systems and the IRS is written in COBOL.

But that's not entirely fair. "COBOL is not the issue," said Derek Britton, product director, mainframe solutions for Micro Focus, the company behind COBOL.

The real problem is that state governments in New Jersey, New York and Connecticut, among others -- as well as the IRS -- have not kept their codebase up to date. But it's not entirely their fault either.

The underlying problem isn't COBOL, or even a lack of COBOL programmers. It's that no one wants to spend money on infrastructure -- be it roads or code -- until it's broken. Well, these programs are now busted.

For example, the state unemployment systems were never meant to deal with the huge loads now pressing on them. New York, for instance, has had 791,840 unemployment claims since mid-March. The State's most recent week's unemployment claims (March 29 – April 4), came to 345,246. That's a 2,639.4% increase from the same period a year ago. The original programmers never dreamed of dealing with that many claims.

COBOL may be almost old enough to apply for retirement, but the language itself remains in common use. In a recent Micro Focus survey, 63% of companies that still use COBOL -- including banks - are modernizing their COBOL systems. 

That's businesses though. Unlike governments, they're more aware that they must keep their COBOL code updated. On the other hand, the IRS has seen its budget cut by 20% over the last decade and its IT budget has been slashed. It's the same story with state IT departments. 

Fixing this geriatric code isn't easy. As John Koskinen, who served as IRS commissioner from 2013 to 2017, told The Washington Post, "The IRS systems are still hard-coded. It's not just a keystroke to go into the code and make the change and hope you've made it correctly."

The IRS main software "Master File"  was developed in 1962 and uses nine-track tape for data storage. None of the IRS programs have ever been that well coordinated. And, now that we're asking it for stimulus checks with President Donald Trump's signature on each one, there's no easy way to add the signature. The code must be rewritten. And, thus, checks have been delayed. 

Many people would like to replace COBOL on the grounds that it's an antique. Actually, the language has kept up with the times. According to Britton, COBOL "can coexist and integrate with a wide array of contemporary technologies, including JVM, .NET, AWS, Azure and containers." Indeed, you can even use COBOL with Agile. With third-party programs, such as FairCom's c-treeRTG, COBOL systems can use SQL with ADO.NET, JDBC, ODBC, PHP, and other more modern systems to query old databases.

No, COBOL's not the problem. It's finding COBOL programmers who are willing to work at government rates to fix long-standing problems. That's where groups like the Cobol Cowboys, which is made up mostly of older freelance programmers, can help provide the necessary expertise.

As bad as this is, it's only the beginning. The coronavirus pandemic's economic waves will continue to bring to the surface other old technology problems. Today, it's COBOL getting the headlines. Tomorrow, it will be other technical glitches.  

In the meantime, yes, you will get your check. It's just going to take a lot longer than any of us ever wanted. 

Related Stories:

Editorial standards