Written by: Joshua Fogus, Open Mainframe Project Summer Mentee
This summer, I am working as an Open Mainframe Project Mentee under two great mentors from Micro Focus, Misty Decker and Gary Evans, from the Open Mainframe Project COBOL Working Group. This blog is the first of the series where I will be detailing my progress, challenges and milestones.
In this mentorship, we will be developing an offline version of the Open Mainframe Project COBOL Programming Course and adding a CICS section to it. Reading that, one might ask, “why is this something that should be done?” To explain that, let’s start at the beginning and look at why a 60 year old language is still relevant and important today.
COBOL, the hip old thing
There has been a lot of talk about COBOL in the news and around the virtual water cooler. One side says COBOL is decrepit and should be torn out and replaced. The other side says COBOL isevery bit as relevant today as it was many years ago. Since I’m still at the beginning of my COBOL journey, I’m in no position to weigh in on this, so I’ll let the data speak for itself.
Those are some pretty significant numbers. COBOL is clearly powering much of the economy with 85% of business transactions and 95% of ATM transactions using the language at some point along the way. There are 10 billion ATM transactions per year, which means COBOL is involved in 9.5 billion of those. In the US, there are 39.6 billion credit card transactions. At 85%, COBOL is handling about 34 billion of these.
Of course, just because the language is heavily used and powers critical infrastructure, doesn’t mean it needs to stay that way. It could be replaced entirely, but as the next few graphs show, modernizing the existing COBOL appears to be a better option. According to this, the CHAOS report found that replacing COBOL has only a 26% success rate, but with a 20% failure rate and a low or very-low ROI rate of 41%. With that, it doesn’t appear that COBOL is going anywhere any time soon.
There’s a problem with all of this COBOL
The problem is not that COBOL is an old language or that it can’t rise to the challenge of supporting all of these transactions. It’s that, as of 2020, the age of the average COBOL developer is 50, and this is not significantly different from what was found in 2008. That means that on average, these developers are nearing retirement, and that they are being replaced by mid-career developers. The can is only getting kicked down the road a little ways.
One might then ask, “Why aren’t younger developers getting involved in COBOL?” One reason is that COBOL isn’t the cool, new language that people often gravitate towards. This isn’t to say that COBOL is stagnating; it’s not. COBOL has seen updates in 2002, which added object orientated features, and in 2014, which added support for XML processing. It just doesn’t have the hype surrounding it like languages such as Go, Rust, Kotlin, or others do.
Another reason there isn’t a lot of young talent working on COBOL is that universities aren’t teaching it. In 2013, a poll of universities worldwide, found that, while 71% of universities with an IT program believed that COBOL was still critical for business needs, 73% of the universities polled didn’t teach any COBOL.
The Open Mainframe Project has seen this need for COBOL education and created a programming course for COBOL on z/OS. The course is intended to get learners the information they need to determine if they want to pursue a career in COBOL and develop the skills to get started down that career path.
Micro Focus also created their own, internal programming course for COBOL on AWS, expanding the options for getting started learning COBOL. This course along with the CICS addition, is being donated by Micro Focus to the Open Mainframe Project.
Both of these courses require an internet connection. Unfortunately, there are still significant numbers of people who don’t have the internet in their homes. For these people, the only way to get connected online is by going to their local university or a public facility, such as a library.
It isn’t that these places don’t have people interested in technology either. There are organizations dedicated to teaching underrepresented populations throughout the world, such as in Nigeria, SE Asia, and Latin America, the technical skills they need to get interesting careers with good salaries. Many more such programs are only an internet search away.
To be able to provide this course to the populations that don’t have internet access in their homes, Micro Focus and I are working to create an offline course that can be downloaded to a laptop while on a public or university internet connection and taken anywhere to complete. This offline course will be delivered in the form of a virtual machine that comes complete with the course, all necessary tooling, documentation, and the environment set up to start learning with as little effort as possible.
Enter the transaction manager
In addition to the accessibility provided from an offline course, we will also be adding a CICS section to the coursework. CICS has been the 2nd most requested feature to add to the course and its significance to the functioning of the global economy is real. It currently handles 1.2 million transactions per second globally. To provide a bit of scale, Google responds to about 63,000 search requests per second.
All of this amounts to some important impacts on the COBOL community and the world. First, there will be more COBOL developers emerging from these courses to assist in writing and maintaining the 1.5 billion new lines of cobol per year. Second, the average age of COBOL developers will come down as young people start picking up COBOL skills. Third, more equitable outcomes will be achieved for underrepresented populations throughout the world. Finally, there will be people who are lifted out of poverty with access to these career opportunities.