During an industry event I covered recently, I had an off-hand conversation with an IT executive about a “big data” problem that needs to be solved somehow.
But it wasn’t about how to mine information from millions of tweets or use high-performance analytics on petabytes of collected customer data.
It was about something even bigger.
Somewhere in the range of 150-250 billion lines of COBOL code still reside in the bowels of large companies around the world, mostly on mainframes. It has even been said that more COBOL transactions take place every day than Google searches.
My industry counterpart said, only half-jokingly, I presume, that if a young software developer really wanted to get rich in the next couple decades, learning COBOL would be the ticket. Indeed, if you want to see a major IT skills shortage, look no farther than this old lingua franca of international business.
But it’s a language of a previous generation that few people still understand, especially the young.
There are many reasons why COBOL is not going away, many of which I went into last year in a long feature article . I touched on the skills shortage back then, dealing mostly with the dwindling number of Baby Boomers around to maintain the code, but less so on what their kids could do about it.
Many people say that COBOL will eventually be replaced, engineered, or at least, heavily modernized over the next couple decades. So, after the conversation, I got to wondering about this interim period.
Should you, as a budding software developer, throw all your energy into COBOL, mainframe administration, CICS and DB2 — skills that will be in extremely high demand for the next 10, 15 or 20 years? Should you, as they say, make money while the sun is still shining?
The short answer, according to Ed Airey, product marketing director for COBOL products at Micro Focus, a company dedicated to the modernization of COBOL, is ‘yes and no.’
Bridging the legacy gap
A good software developer, he says, should leave school with skills in several different areas of programming, not just one. But if COBOL is one of them, you can certainly differentiate yourself in the job market, he says. At the same time, by learning more modern languages you’ll keep yourself open to other employment possibilities that may arise in the future.
But is the COBOL of today a legacy of the past or has it evolved into something more modern? The reality is that’s it’s both.
Much in the same way that IBM has partnered with universities to teach mainframe skills, including at Ryerson University in Toronto, Micro Focus works with educational institutions to get students interested in COBOL. These types of courses are not only for undergraduates, but also offered as continuing education for professionals who want to upgrade their skills.
But they aren’t teaching your grandfather’s COBOL.
The older versions of COBOL were procedural languages, while the more modern ones have become more object oriented. Micro Focus offers a product called Visual Cobol, which can be used to create COBOL programs for Java Virtual Machine, .NET and even Microsoft’s Azure Cloud. Visual COBOL, he says, offers the familiar context of modern integrated development environments (via Eclipse and Visual Studio).
This makes the language much easier for students to learn. Meanwhile, it’s compatible with the older COBOL code still running on countless machines around the world.
Money isn’t everything—but it sure gives you flexibility
Then again, COBOL is still COBOL — it’s mostly still around because it can perform the same kinds of mundane business tasks as it did in the 1960s. As such, it might not leave much room for a developer’s creative impulses to be satisfied.
But having these so-called “legacy skills” will fill your wallet — big time. Think of any large enterprise that’s been around for a while, and you can bet they need someone with COBOL and mainframe expertise. And if you’re one of them, and work-life balance is important to you, why not stay independent?
These companies will happily pay you hundreds of dollars an hour to work for them on a contract basis. You can spend the rest of your time doing some more fun types of coding, or finding ways to spend all that money.