People in the industry have a message for you: COBOL isn’t dead and they bristle at the notion the programming language has outlived its usefulness. COBOL is “alive and well. As are its mainframe coworkers,” said Leon Kappelman, an IS professor at the University of North Texas.
One reason is “there is no business case to replace them,” Kappelman said.
By some estimates, 200,000 billion lines of code still exist. “If that 220 billion lines number is even close, then the replacement cost is probably between $4 and $8 trillion dollars today–maybe more,” he said. These tend to be large software systems and replacing them is risky, according to Kappelman.
“And there’s always the question of: Replace them with what? COBOL was invented largely to build systems to process transactions and generate reports,” which was one of the main types of processes getting computerized at that time, he said.
SEE: Top 5 programming languages for systems admins to learn (free PDF) (TechRepublic)
COBOL systems are also “quite structured and fairly maintainable,” Kappelman added. “Think of the back office systems of banks, brokerages, insurance and government organizations that are capable of processing massive amounts of transactions efficiently and quickly. It’s just overhead and there’s not really much, if any, strategic value in replacing them.”
“Not only is it pervasive, it’s not going anywhere,” observed Cameron Seay, an adjunct professor at East Carolina University in North Carolina, who teaches COBOL, and co-chairs the Open Mainframe Project’s COBOL Working Group.
Like Kappelman, Seay said COBOL systems are predominantly used by financial services organizations and the federal government, but there is also significant usage in the retail industry he said.
Early findings from a study the COBOL Working Group is doing are that there are a lot of retailers using COBOL to process point of sale credit card transactions, Seay said. “We know Walmart uses it and Target and Home Depot use mainframes,” the majority of which use COBOL.
Demand remains consistent, for the time being
Part of the demand, which is in “the medium range,” likely stems from governments relying on COBOL-based systems to process large numbers of unemployment applications and other transactions related to pandemic aid, said Art Zeile, CEO of Dice.
Burning Glass Technologies, which collects and analyzes millions of job postings from across the country, predicts that demand for COBOL skills will fall 13.6% over the next 10 years, as more and more organizations inevitably transfer their data from legacy systems to the cloud and other infrastructure, Zeile noted.
“For the moment though, those with COBOL skills can command a median salary of $92,086, which is fairly high, given COBOL’s age as a programming language,” he said. Those with 10 years or more of COBOL experience can earn salaries near the $100,000 mark, Zeile added.
Dice has seen a consistent level of demand for COBOL-related job postings in Georgia (1,517 over the past 12 months), Texas (1,393 over the past 12 months), California (1,128 over the past 12 months), North Carolina (1,086 over the past 12 months) and New York (1,058 over the past 12 months).
Top employers for COBOL-skilled technologists include IBM, Fiserv, Amazon, Travelers and Citi. Like the others, Zeile said large institutions, such as banks, are likely to have at least some legacy systems running COBOL.
COBOL running on mainframes proved their value during the height of the pandemic. Last year, for example, a spike in unemployment claims in New Jersey prompted a call from Governor Phil Murphy for programmers with COBOL experience to volunteer to support the legacy system. Technologists from around the state stepped in to lend their services. This “provided a reminder of how important it can be to operate systems that the majority of technologists are trained to use,” Zeile said.
SEE: Learn COBOL with these online training courses and tutorials (TechRepublic)
The age issue
Because COBOL and mainframes have been around for several decades, many programmers are starting to retire, which will create a shortage of people with the skill. According to the 2020 IT Trends report from the Society for Information Management, respondents expect 7% of their IT employees to retire in the next five years, which is similar to the 7.1% reported in 2019 and 6.9% in 2018.
However, the report said it is not known to what extent specific skills may be more adversely affected by retirements (e.g., legacy applications, mainframe, COBOL, etc.). Approximately 45% of respondents to the COBOL Working Group survey said they have been in the industry for 30 years or more, Seay said. “We’re going to need COBOL programmers pretty soon” and most universities don’t teach the programming language.
East Carolina is the only one of the 17 colleges in the UNC system that offers COBOL, according to Seay. The good news is “my classes are full every semester,” he said. Seay also runs boot camps outside the university and recently had 25 participants in the introduction to mainframe class he offered.
Seay believes HBUCs “can be hotbed for this technology,” and said he has taught mainframe classes at four HBCUs “and the response has been tremendous at all four. We’ve gotten a lot of them jobs.”
Another barrier to teaching the programming language is that many students simply aren’t aware that COBOL and mainframes exist, Seay said. “99.9% of college students haven’t even heard of mainframes and COBOL. It’s just not talked about,” he said. “If I’m in information systems and don’t teach mainframes, [students are] missing a large chunk. Mainframes run global economies.”
Kappelman agreed that students need to learn more than COBOL since a lot of systems run on mainframes or mainframe emulators, “so knowledge of those environments is also important.”
COBOL is not a particularly difficult language to learn, he added. “My students who take our COBOL/mainframe electives tend to get more offers at much higher salaries than those who don’t. On the downside, it’s a third-generation programming language so it takes more statements of code to accomplish the same amount of work than newer languages like Java or SQL.”
That said, “the world is not building new systems in COBOL, we’re maintaining and enhancing them and connecting them to better, more modern front ends and other systems.”
Regardless, like Seay, Kappelman said more universities should teach COBOL and mainframes “because it means good jobs for their graduates.”
All undergraduate IS majors at UNT spend four or five weeks learning COBOL and mainframes in their first programming course, he said.
“Many of them love that and go on to take one or both of our mainframe/COBOL electives. Since COBOL is a business language, you’d think more academic IT departments in colleges of business would still teach it at least as an elective, but sadly, most IT programs in business colleges are not particularly technical.”
Computer science programs aren’t interested in COBOL since their focus is not building or maintaining business-type systems, Kappelman said.
What the future may hold
The general feeling among experts is that while banks, governments and other large institutions will likely eventually modernize their operations running on COBOL, it may be quite some time before the legacy infrastructure goes away completely, Zeile said.
“While some companies, such as IBM, offer documentation and courses in COBOL, it’s not a language that many instructors encourage technologists to learn before they master in-demand languages like Python and Java,” he said.
However, until companies completely transition away from their legacy tech stack, he said, “there will likely be ample opportunities for those who’ve mastered COBOL to step in and help, particularly on a contract basis. Eventually, companies will need to make decisions about what their next generation of infrastructure will look like, how quickly they need to transition and at what cost.”