The answer to the COBOL programmer shortage is simple: train more programmers.
I’ve always liked the band AC/DC. I wouldn’t call myself a fan per se, but there’s nothing that brings me happiness quite like getting into the car for a long drive at night, turning on the stereo, and hearing the opening bell of “Hells Bells,” arguably the best nighttime driving song ever. And if you think I’m idiosyncratic like that, it’s because I am. Best daytime driving song? “It's a Long Way to the Top (If You Wanna Rock 'n' Roll).” Bagpipes and all, it just makes me feel good.
AC/DC has been around since 1973. They’ve sold 200 million records worldwide. They’re one of the couple of bands (the other being Van Halen) who’ve either maintained or gained in popularity after a lead singer change (AC/DC original singer Bon Scott died in 1980}.
What is it about AC/DC that gives them such longevity?
It just works. The formula works. They have meat and potatoes, three-chord rock songs. Great hooks. And it’s worked for nearly 50 years. Their investment into their craft has paid off.
Long preamble aside, that investment is an obvious parallel with two programming languages: RPG and COBOL. While both languages have certainly evolved and modernized from their initial iterations, much of the foundational business logic written in these languages continues to run to this day all over the world.
Let’s talk about COBOL. A few weeks ago, New Jersey Governor Phil Murray put out an open call for volunteers who know the language because their applications needed maintenance work to help process the massive amounts of unemployment and public assistance claims generated by the COVID-19 crisis. Suddenly, COBOL is hot again, like it was the last time a major influx of COBOL programmers were needed: Y2K.
So how pervasive is COBOL? A couple of years ago, Reuters reported that 95 percent of ATM swipes and 43 percent of banking systems rely on COBOL. It has 220 billion lines of code running in the world today.
I wanted some perspective, so I reached out to a developer group called COBOL Cowboys. I received a very gracious but honest email response stating that they were inundated with media activity and inquiries from COBOL programmers. They’re so busy they don’t need any promotion right now. It’s not a bad problem to have!
I then reached out to fellow IBM Champion, Cameron Seay, Ph.D., who’s an Adjunct Professor at East Carolina University. Here’s what he had to say about the preconceptions and misconceptions about COBOL.
Cameron Seay: What it is, actually, is a fundamental lack of understanding by the populace at large of how the global financial infrastructure is put together and a fundamental lack of understanding on the part of college administrators about the benefits of these courses for their students. It’s a lack of understanding how important these “legacy systems” are. Ask any guy on the street: Do you know [that] 70–80 percent of business transactions that your financial life depends on depends on a language called COBOL that’s developed in the 1950s? Nobody knows it, but that’s a fact.
I’ve taught mainframe at five schools. I have had never a problem convincing a substantial percentage of students to seriously consider mainframe as a career choice.
He recently surveyed students, and the results were certainly refreshing:
CS: Final results of my course survey: 79 percent had never heard of mainframe before the class; 89 percent said they will now consider mainframe as a career choice. Bottom line? Most students don't even know about this technology, but when you explain to them what it is and what it does, they will consider it for a career. Companies say they can't find mainframe candidates. But it's clear that once the students are properly exposed to this technology, they like it.
I know technology departments at other large schools, and I’m not going to name them and throw them under the bus, but they graduate information systems students and very few of them actually get a job in IT. The kids leave there with debt, and nobody seems to have a problem with this. It’s not rocket science. I have to give props to our dean at East Carolina because he really cares about kids getting jobs.
Steve Pitcher: From a jobs perspective, how many are directly employed that have graduated your program?
CS: When I was with other schools and we tracked that stuff, we placed maybe 120 people! It’s not complicated.
SP: So, what about the press? The naysayers. It’s almost like they preface every article with how old and archaic the language is. We see the same thing on the RPG side of the coin all the time. Even the darn name. People still call IBM Power Systems an AS/400. It’s not. They think that RPG is all fixed-format. It’s not.
CS: They have it all wrong. There’s nothing wrong with the technology. The technology is all solid. The solution is not to move it to something else. You’re not going to be able to do that. It’s almost physically impossible. Well, it’s not impossible; it’s unfeasible from an effort and risk standpoint. The easiest thing to do is teach people COBOL. My inbox is full of people who want COBOL programmers.
A bank I know of has 50 million lines of COBOL code. The scale of this problem…the press is all about New Jersey right now. Every state is in the same situation. It’s just New Jersey’s governor happened to mention it in a press conference. And it’s a fixable problem! Very fixable! Teach COBOL! It’s simple.
You’re not going to migrate all this code to Java. It’s too risky and too expensive and too unnecessary. That’s not the smart play. IBM makes new mainframe technology all the time. It’s not outdated technology. We need to teach it.
SP: What about a life of making maintenance versus “new development.” That’s another thing I think our communities share. Some people think that when you’re hired as a developer with a predominantly RPG shop, then you’ll be programming maintenance programs all day every day. It’s probably the same perception for COBOL.
CS: Yes, but nothing can be further from the truth. I know a lot of IT managers. They’re having new lines of COBOL written every day. They need functionality. It’s just as easy to write it in COBOL as anything else. Now are there more new lines of COBOL than lines of Java in the world? Probably not. But that doesn’t matter. If you’re a developer, it’s highly unlikely you’ll only ever program in one language. Highly unlikely. You have a toolbox. If you know Java, then COBOL is a walk in the park and vice versa. It’s not either/or. It’s and. We have to keep adding tools to the toolbox. And COBOL is just a tool. It’s a marketable skill. Any of my students graduate with a marketable skill. And that’s a fact.
COBOL may be the scapegoat to a larger problem. The problem is both perception and hardware. The perception problem is easy: education. The more we understand about the value of COBOL, the more developers will learn the language.
Another concern is budget for new hardware. If your state is running COBOL that runs perfectly well under normal circumstances, when things go sideways like now or during the 2008 financial crisis, overloading the systems may be more related to older hardware that just doesn’t have the horsepower to move things along at a reasonable pace. Make no mistake, IBM mainframe is a machine designed for processing ridiculous amounts of transactions per day. But as those workloads increase and years go by, the hardware underneath must be updated and upgraded. Hardware is the foundation of the technology pyramid, no matter what the applications are written on. For the last 25 years, state funding for application development has been on a serious downswing. I can only assume that the same goes for appropriations for server hardware. Either way, we need to ensure that all technology designed to run state and federal infrastructure is modernized regularly. Modernization doesn’t mean replacement. It’s means modernization. It means education. It means building new solutions. It means augmenting critical applications and business investments that have had a 60-year run. And it means a regular hardware refresh.
The technology works. COBOL isn’t the problem. The problem is widespread ignorance of the technology that we all rely on to keep our world running.
And for those about to learn COBOL, we salute you.