As states attempt to fix decades-old codebases on the fly—bases reliant on COBOL, a downright ancient programming language—it’s a good reminder that you need a plan for technical debt even in the most complex of cases.
If you have a piece of gadgetry or infrastructure under your control, you do not want to find yourself in the situation Phil Murphy did earlier this month.
Murphy, the Democratic governor of New Jersey, found himself having to name-drop a supposed “dead programming language” at a news conference. That language, COBOL, is so old that when it was first put into use, individual hard drive platters were 24 inches in diameter—twice the size of a vinyl record. (Today, they’re generally 3.5 inches in diameter, the size of a drink coaster—if that.)
But Murphy’s state suddenly needed a lot of help with it, because New Jersey’s unemployment systems rely on COBOL. And unemployment was skyrocketing in a freak, once-in-a-lifetime economic shift caused by COVID-19.
“Literally, we have systems that are 40 years-plus old, and there’ll be lots of postmortems,” he said at the news conference. “And one of them on our list will be how did we get here where we literally needed COBOL programmers?”
The bad news is that New Jersey—along with other states, including Kansas and Connecticut—have unemployment systems so out of date that they rely on this old programming language, one that is so vintage that it hasn’t been taught in universities for decades.
The good news, however, is that Murphy’s call caught the interest of the right people, including in the nonprofit space. Teaming with IBM (whose mainframes are often the ones running vintage COBOL code), the Linux Foundation has helped to build out a major volunteer effort to train volunteer programmers on COBOL code so that they can help assist during a time of crisis. The foundation, which is using its Open Mainframe Project as a home base, is particularly skilled at bringing together a lot of volunteers all at once—and, surprisingly, at scale. (That’s how open source works, of course.)
“It’s exceeded expectations and tells a different narrative than one thinks of,” said John Mertic, the foundation’s director of program management, in comments to TechRepublic. “You’d think these people are hard to find, and we found 1,300. We had over 100 within an hour of our announcement. They’re there.”
And good thing, too. These COBOL programmers may not be in the hospitals or taking in hazard pay from working essential jobs, but they’re heroes nonetheless.
The Devil They Know
Still, though, it certainly would have been better for these states to move away from this programming language sometime … well, in the last 60 years.
Examples of lingering technology are pretty common when state or federal governments are running the infrastructure. The U.S. may have built the internet, but federal agencies also kept around 8-inch floppy disks long after everyone else stopped using them.
They’re not alone. The banking industry has been known to use COBOL as well, and other industries (airlines come to mind) may stick with vintage gear because of its reliability advantages in standard situations, or because changing to something else would be too complicated to do on the fly.
When you reach a certain level of computing complexity, the parallels start looking a lot less like operating system upgrades and more like, say, high-speed rail. Sure, you can upgrade everything to modern standards, but it’s going to cost a whole lot of money and buy-in to get there, because you have to transition everything over to the new paradigm. (The high-speed rail efforts of the last decade, infamously, ran into all sorts of issues rooted in buy-in.) Many organizations, governments included, don’t have the level of discipline to plan for these transitions ahead of time.
So they stick with the devil they know. Most of the time, the old system works, but when a once-in-a-lifetime crisis comes along, everyone is forced to scramble. (The Y2K bug is another example of this, by the way.)
Don’t Leave It On the Shelf
Most associations probably aren’t dealing with this level of technical debt—heck, it was only four months ago that I was writing about getting off of Windows 7, which is a spring chicken compared to some of the infrastructure we’re talking about here—but they do have some, because every organization does.
But the thorniest problems are the hardest to fix and require the most work to resolve. Which means that they are the most likely to sit on the shelf.
The work being done by volunteers to train programmers in COBOL and to help fix glitches in decades-old unemployment system code is a feel-good story at a time when there aren’t nearly enough of those to go around. But let’s not miss the bigger lesson here: Associations should not be leading from behind when it comes to infrastructure.
Don’t play catch-up. Play keep-ahead.