Case Study 1: The New Jersey Unemployment Crisis

Background

In April 2020, New Jersey Governor Phil Murphy made an unusual public appeal during a press briefing: he asked for volunteers who knew COBOL. The state's unemployment insurance system, built on decades-old COBOL code running on an IBM mainframe, was buckling under an unprecedented surge in claims. What had been a system designed to handle a few thousand claims per week was suddenly processing hundreds of thousands.

The story made national headlines. COBOL — a language most journalists had never heard of — became front-page news. But the story was widely misunderstood. The narrative that emerged in mainstream media was: "ancient programming language fails." The reality was more nuanced and more instructive.

The System

New Jersey's unemployment insurance system was originally built in the 1980s using COBOL on an IBM mainframe. Over the decades, it had been maintained and incrementally updated, but the core architecture — batch-oriented COBOL programs processing claims sequentially — remained largely unchanged.

The system was not failing because COBOL is a bad language. It was struggling because:

  1. Volume exceeded design parameters. The system was architected for a certain throughput. When claims increased by 1,600% in a matter of weeks, it hit capacity limits — limits that any system, regardless of language, would face.

  2. Staff could not scale. The team that maintained the system was small and aging. When emergency modifications were needed — new federal pandemic benefit programs with their own eligibility rules — there were not enough developers to implement changes quickly.

  3. Years of underinvestment. The system had received minimal funding for modernization. It worked well enough in normal times, so there was no political urgency to invest in upgrades — until "normal" ended abruptly.

Analysis Questions

  1. Governor Murphy asked for COBOL volunteers. Was this the right response to the crisis? What alternatives existed?

  2. The media narrative focused on COBOL as the problem. How would you explain the actual problem to a non-technical audience?

  3. New Jersey and many other states had been aware for years that their unemployment systems were outdated. Why had they not modernized sooner? What incentive structures contributed to the delay?

  4. If you were advising New Jersey on a post-crisis strategy, would you recommend replacing the COBOL system, modernizing it, or a hybrid approach? Justify your recommendation with specific trade-offs.

  5. How does this case study illustrate the textbook's theme that "Legacy != Obsolete"? In what ways does it challenge that theme?

Outcome

New Jersey received hundreds of responses to the governor's appeal, including retired COBOL developers and active mainframe professionals from the private sector. The immediate crisis was managed through a combination of additional staff, system optimizations, and temporary workarounds. In the longer term, New Jersey allocated over $100 million for IT modernization, including its unemployment insurance system.

The broader impact was significant: COBOL talent acquisition became a visible priority for government agencies and financial institutions nationwide. Training programs expanded, and several universities that had dropped COBOL from their curricula began reconsidering that decision.

Lessons for COBOL Professionals

  • Systems do not fail because they are old; they fail because they are under-resourced. The New Jersey system worked fine for decades. It failed when asked to do something far beyond its design parameters with insufficient staff to adapt.
  • The talent gap is not abstract — it has concrete, public consequences. When there are not enough people who understand the code, crises become worse than they need to be.
  • Knowledge of COBOL is a form of public service. The systems that process unemployment claims, tax returns, and Social Security benefits affect the most vulnerable members of society. Keeping those systems running is meaningful work.