What’s wrong with using COBOL?

New Jersey governor Phil Murphy was roundly mocked by the internet community for his unusual plea for help amidst the Covid-19 pandemic a little more than a week ago. What did he ask for that drew the attention of netizens, you ask? COBOL experts.

For those that do not know, COBOL is a programming language that was created over 60 years ago, and “obsolete” for nearly as long. Well, not fully obsolete as we saw with Governor Murphy’s pleas. While New Jersey was being inundated with unemployment benefits requests as the pandemic sunk the economy, their website crashed under the flood of applications. The problem became so severe that the government had to allot timeslots for individuals to access the site based on social security numbers.

New Jersey wasn’t the only state whose unemployment infrastructure was exposed once Congress passed the CARES Act in March. Unemployment offices and websites in New York, Connecticut, and Florida, amongst others,¹ have also been brought to their knees. So when Murphy and other state governments asked for COBOL experts to try to increase processing capacity for claims, the public jumped at the chance to mock them. When people are living week-to-week if not day-to-day waiting for their unemployment benefits, it’s easy to blame the government as incompetent and criticize them for running on 1960’s-era technology.

But is technology actually to blame here? COBOL, which stands for Common Business-Oriented Language, is actually the infrastructure that powers $3 trillion in daily transactions for financial institutions alone². Although modern programming languages may have its advantages, for many large institutions from governments to banks, COBOL is actually the right tool to process such massive amounts of transactions. Where COBOL really suffers is that there just aren’t many programmers who still use, much less are experts in, COBOL compared to Python, Java, or other newer languages.

It seems to me, then, that states are really left with two options. One is to modernize COBOL hardware and software systems, while bringing in as many COBOL experts as they can find. The second is to completely rebuild legacy systems using a new language, which would make it easier to find software engineers. The problem for both is that it would require a significant amount of capital.

I’d argue that this is really the root of the issue — State budgets, especially unemployment offices, have been crippled and left without the resources to maintain their infrastructure. For the past 25 years, Congress and the federal government have been cutting funding that these offices need for modernization efforts³. We saw glimpses of how ill-equipped the country was to handle unemployment claims during the 2008 financial crisis, which by comparison, was much less of a strain on systems than the crisis we are currently facing. Where there were cracks in the dam in 2008, there is now a flood.

Instead of mocking governors for dealing with the hands they’ve been dealt, we must hold the federal government responsible for strangling state funding and not allocating the resources necessary to either update or create a robust unemployment infrastructure. When someone who has been let go needs that extra $600 dollars a week to pay rent or buy groceries, but cannot because of inefficient systems crippled by the federal government, let’s all remember the stakes and who is ultimately responsible. There are many lessons to take from the pandemic, and this is certainly an important one. That, and maybe picking up a little bit of COBOL during our quarantine free time.

--

--