"When I was in college 30 years ago COBOL was declared dead, but it's still going strong and it's still a very good language."
So says Leon Kappelman, a professor of information systems at the University of North Texas (UNT). And he certainly appears right about the half-century old programming language going strong: There are still hundreds of billions of lines of COBOL code in use today by banks, insurance companies and other organizations, and COBOL is still used somewhere in a large proportion of all business transactions.
But very few universities still teach COBOL, which means the population of skilled COBOL developers is aging rapidly. As an increasing number of COBOL developers reach retirement age, a shortage of programmers with COBOL skills is inevitable.
Learning COBOL would seem to be a sensible career move. That's because it offers the prospect of plentiful work, and thanks to a shortage in supply, skilled COBOL programmers should be able to command premium rates for their skills.
Professor Kappelman says undergrads at UNT are offered two electives in mainframe COBOL, and these prove financially rewarding almost immediately. "Students that take them tend to earn about $10,000 per year more starting out than those that don't," he says.
He adds that the demand for COBOL developers will not disappear because there is no business case for large organizations to replace their legacy COBOL applications. That means a career in COBOL offers great job security.
But, inevitably, there are downsides, he warns. "The potential for career advancement could be limited, so you get a lot of job security – but it could get boring."
Will COBOL lead to cash?
Aside from Kappelman's observations, there's not much evidence that COBOL developers command elevated salaries dues to a shortage of supply – yet. But Geoff Webb, a vice president at Micro Focus, a company that provides software and consultancy services to help update legacy systems, expects COBOL rates to start rising gradually. "With Y2K projects lots of companies needed COBOL skills, so the sudden scramble led to a spike in pay,” he says. "We won't see a sharp spike like that again, but it's very likely that there will be upwards pressure on pay in the future."
An obvious question you should ask if you are considering learning COBOL is what kind of COBOL work will you do? More to the point, will COBOL work be boring, as Kappelman suggests?
The answer, it seems, is that some, but not all, could be dull. Webb says that there will always be a need for people with COBOL skills to maintain existing code. "There are always updates that need doing: You may have a payroll application that needs to be modified slightly," he says. "It won't require a massive amount of work, but the changes will need to be done regularly."
But the idea that your job will just consist of maintenance duties to keeping existing code running is very far from the truth, he says. There will also be plenty of opportunities for new development.
"Companies that have existing COBOL applications are extending them. Why wouldn't they?" Webb says. "There is a need to offer new things and deepen the engagement with customers, and some of that will involve development to extend existing COBOL applications. Companies can't throw these applications away and start again, so they have to build on them."
The boring factor
One thing that may put you off the idea of working with COBOL is that it is often used by unglamorous and rather staid organizations. It lacks the allure of the sexy new languages used in the exciting startup world of Web 2.0 and mobile apps. To put it bluntly, a life of COBOL programming for a large financial institution may sound quite boring.
But that's not necessarily the case, says Alina Ungureanu, a developer in her 20s who learned COBOL last year. "I chose COBOL as it is interesting and very different compared to other languages,” she says. "I don't think a language bores you – it’s the activities you do with it. If you want to work with COBOL you have to be able to do out-of-the-box thinking."
So would she recommend other developers learn COBOL? "That depends," she says. "I don't like to code websites. But if you are someone who doesn't want to create applications for the financial sector then I can't recommend COBOL. But if you love to create transactional code then COBOL is interesting."
She adds that COBOL developers do tend to earn more than many other developers, but in part that's due to the nature of the employers. "If you work with COBOL it will be in a large company that is employee-oriented, so they can't underpay you," she says. "Other languages are more popular in small companies or startups where people may not be satisfied with their salary."
Of course it's more likely that developers working in a startup may end up with equity in the company, and if the company is successful then there's the possibility of making millions of dollars overnight. That opportunity doesn't exist for most COBOL developers.
There is another possibility if you want to work with COBOL, but don't want to cut yourself off from the cutting edge of software development, Webb says. There is a trend towards integrating old COBOL applications with newer mobile and Web applications built in next-generation languages.
"This move to take COBOL apps and build them in to the cool stuff – that is much more interesting for a career," says Webb. "To do that you don't need to be a COBOL programmer, but more a programmer who knows COBOL. You also get to use multiple environments, tools and knowledge."
But even if you choose to become a COBOL specialist, Webb says there is plenty of excitement to be had. That's because of the pace of technological change.
"If you are an expert in COBOL you have to get deeply involved in how to bring COBOL applications forward – how old applications can leverage new technologies and platforms," he says.
"So for COBOL developers, there are going to be some very interesting times ahead," he says.