+1 800 985 8533

Simplicity 2.0
A no-holds-barred take on trends in the IT industry

Looking for a Job? How's Your COBOL?

Aug 04, 2014

Looking for a Job? How's Your COBOL?

Looking for a great technical skill to develop to make you all the more marketable in today’s increasingly fast-paced industry? Have you considered COBOL?

No, we’re not kidding, and no we aren’t confused because we’ve been binge watching Mad Men and Halt and Catch Fire with their throwbacks to ancient systems and software. The industry—particularly the U.S. federal government—is facing a shortage of experts in the venerable language, and they’re willing to pay handsomely for expertise.

For all you Millennials out there who probably aren’t familiar with this particular acronym, COBOL is a computer language designed in 1959 (based on work by Grace Hopper). Unlike its primary competitor at the time, FORTRAN, COBOL was intended for business use, rather than scientific use. Hence its name: Common Business Oriented Language. And in the heyday of computer commerce and administration in the 1960s, billions of lines of it were written. (One could argue this is because it took so many lines of COBOL to do anything.)

As we all know, hardware may come and hardware may go, but software is forever. Despite all the talk about reengineering business processes, it takes a long time and a lot of money to rewrite a program, especially one that works. Major federal agencies such as the Internal Revenue Service and the Social Security Administration are based on COBOL. The SSA has 60 million lines of COBOL in production as of 2013, and found that the benefits of replacing COBOL would not outweigh the risks. Remember the issues with software in the Veterans Administration? What do you think would happen if the tax system or Social Security went down?

COBOL vendor Micro Focus claims:

  • COBOL supports 90 percent of Fortune 500 business systems every day
  • 70 percent of all critical business logic and data is written in COBOL
  • COBOL powers 85 percent of all daily business transactions processed
  • $2 trillion worth of mainframe applications in corporations are written in COBOL
  • 1.5 million new lines of COBOL code are written every day
  • 5 billion lines of new COBOL code are developed every year
  • The total investment in COBOL technologies, staff and hardware is estimated at $5 trillion
  • An estimated 2 million people are currently working in COBOL

Some COBOL programs did get rewritten in other languages to deal with the hype surrounding the Y2K problem. (This is when people believed programs might fail upon reaching the year 2000, because they’d all been written to expect years to start with 19.) But some COBOL programs were just patched to deal with it. Others actually had four-digit year fields to begin with, and those COBOL programs just kept chugging along.

So what’s the problem? As the Department of the Navy said when it explained why it still used 200 billion lines of COBOL code, “If it ain’t broke, don’t fix it,” right?

The problem is that the program is in operation, but the world isn’t cranking out many COBOL programmers anymore. The COBOL programmers we do have are nearing retirement, with as many as half of them aged 50 or more, according to Bloomberg Business Week. This goes beyond the government, as it affects private industry as well. “In some cases, only one or two people understand the core banking software the bank runs on and the older programming language in which it is written,” writes American Banker, which it calls the “key person” problem.

Consequently, active COBOL programmers are in short supply. So, thanks to the law of supply and demand, salaries for COBOL programmers are going up. “The salary for top talent can reach six figures, and agencies and companies are still awarding contracts today for COBOL software maintenance,” writes FedTech. The U.S. Office of Personnel Management estimated that the maintenance costs for the retirement system could go up 10 to 15 percent due to the lack of programmers.

The most difficult aspect of learning COBOL might be finding classes. A number of schools dropped COBOL courses because nobody was enrolling in them anymore. A 2013 survey by Micro Focus found that 73 percent of academics running IT courses at universities around the globe do not have COBOL programming as part of their curriculum, although 71 percent still believed that business organizations will continue to rely on applications built using the COBOL language for more than the next 10 years.

The survey also found that the universities believed students weren’t all that interested in learning COBOL, either.  When asked about student attitudes toward learning COBOL, 65 percent of universities gave a negative response, with 39 percent saying their students viewed COBOL as un-cool and outdated, 13 percent saying they believed COBOL was dead and 15 percent saying their students wouldn’t know what COBOL was.

Perhaps they just hadn’t heard this joke:

A COBOL programmer made so much money doing Y2K remediation that he was able to have himself cryogenically frozen when he died. One day in the future, he was unexpectedly resurrected.

When he asked why he was unfrozen, he was told:

"It's the year 9999—and you know COBOL."

Comments 42
| Post your own


Submitted by teambob on

I achieved a 6 figure salary programming C++. COBOL may be where the majority of business computing happens but it sure ain't where the money is according to this article.

Submitted by oldschoolcoder on

Indeed. Whenever I hear "There's a terrible lack of xyz specialists out there", I think they must be getting paid a fortune (because obviously, someone who is in dire need of them would be forced to pay a fortune, no choice there). However, Cobol programmers don't earn that much (compared to say, a C# coder working for a financial institution), ergo there is no shortage of them. This article's argument is invalid.

Submitted by Redwolfo on

Sorry Charlie...but I do make a big 6 digits figure with my COBOL and CICS expertise...it helps that I also know Assembler :-)

Submitted by toni on

This article is great. I am a Cobol programmer but have not worked as a programmer for maybe 12 years. Any suggestions to get back into Cobol programming??

Submitted by admin on

Well, just like anything else, find organizations in your area that still use COBOL and apply. :) It would also be good to look at your specific areas of expertise -- government, financial, etc. -- and promote that as well, especially since you don't have more recent experience.

Submitted by Mark Zellers on

2038 is the year that all the 32-bit C programs overflow time_t (see http://en.wikipedia.org/wiki/Year_2038_problem) . Perhaps we aught to start freezing some C programmers now while they are still around.

Submitted by Mike on

The numbers don't quite add up. If supposedly 1.5 million lines of new code are written every day (working weekends and holidays) - that's only 547.5 million per year - not 5 billion.

Submitted by an idea on

Perhaps 1.5million lines per day is the minimum, such as on weekends or holidays, as opposed to the average.

Submitted by Get real please on

If that were the case they would state "AT LEAST 1.5 million new lines of COBOL code are written every day". But it's not. 5 billion a year is an order of magnitude out. I'd actually believe that 1.5 million new lines of COBOL is a few orders of magnitude inflated statement by an invested COBOL vendor. I'd imagine the real figure is closer to 15,000 lines of COBOL at most.

Submitted by Sonepod on

1.5 million per day is reasonable if 2 million are really working in COBOL as they claim, each would need to write just 0.75 lines of new code per day, on average.

Submitted by admin on

The 1.5 million is "written" and the 5 billion is "developed," so I expect they're using different definitions, hence the discrepancy.

Submitted by 26delta on

Admin is right. Most COBOL development is done using waterfall methods, meaning 85% of the code is immortalised in documentation and discussion documents.
The remaining 15% becomes the final product. (Perhaps I should put my old text books on ebay.)

Submitted by Blackthorn on

They expect to hire someone onto a dead-end career path with a salaryt that "can reach" six figures? Ah, the wonderful delusion of the US federal government.

Submitted by Waveydavey on

I simply don't believe it. I am a greying programmer, who initially trained as a junior COBOL programmer in 1984, and spent quite a few years as a COBOL programmer.

I often check the big sites (monster etc) on the off-chance that my old skills are suddenly lucrative, and there are very very few COBOL jobs doing the rounds, and certainly not at high rates.

Shame, it would be nice to capitalise on an old skill.

Submitted by dave on

I don't think Monster is a valid site any more. I've found linkedin salary.com and glassdor.com has more active users and listings.
Should update your resume and try those.

Submitted by Someone's Son on

My father works as a programmer at a dog food factory. They've tried replacing him several times (specifically: every time there's a management change and someone notices he doesn't have a degree). Each time, they either needed him to emergency-come-back, or train some kid from scratch.

Anyway, I think the disconnect is that the "demand" the article is talking about is not tethered to the right pay scales. When a lot of the positions that need to be filled were created, it was the 80's or 90's and they were being filled by guys like my dad, who were tinkerers, and very good at it, but they were blue collar people who were not expecting college-level pay. Now those guys are retiring, and the factories aren't quite willing to admit that they aren't going to attract anyone to a coding position on blue-collar wages. They got lucky and got a generation of laborers who didn't know how much they were worth. Now they're like "WTF? Why won't any programmers take this job for $34 an hour? That's like $8 over what we pay our machinists!!!")

Submitted by VB6 Programming on

VB6 programming is in a similar situation. huge amounts of code still in use, widespread across many businesses.
But while Cobol is still available, Microsoft make it difficult to buy Visual Basic 6 (you can only get it with an MSDN subscription).

Submitted by Bruce Roeser on

I've read all the arguments for and against the article and I lean on the side of agreeing with it. True, it's not "up and coming" and you won't find a ton of listings on your favorite job site for it. However I have found that one can make a great living doing things that no one else can be "bothered with".

Most really good jobs (at least the ones I've ever had) are not found on DICE or some bulletin board but were found by doing a little digging. I suspect these COBOL jobs are the same kind of thing. Don't expect them to make headlines but don't just toss the idea either. You might just throw the baby out with the bathwater - so to speak. Same thing with VB6. There's a (#*$load of code written in that language. Might not be "fashionable" to be skilled in that today but you might wind up taking some dough to the bank if you're willing to get your hands dirty and work with it.

Submitted by Matthew Kleinosky on

Well, I was a COBOL monster in late 1970s early 1980s and a consultant at IBM doing it ... anybody need a cobol programmer if short term travel and remote work is possible, I am available and flexible http://Kleinosky.com

Submitted by George C on

A few billion lines of verbose COBOL translates to, what? About 1400 lines of Perl?

Submitted by James Page on

COBOL and FORTRAN are still around because they were designed for specific domains: business and science. C++, Java, Ruby, Python, etc. are great at what they do, but they are not designed for business data processing. In fact most people these days do not have a clue about what data processing is. Without the data processing model, large business software becomes very difficult to design build and maintain. COBOL skills became very pervasive. More people in the market pushed salaries down. You see the same with all software language and technology domains. If you want high pay, do not get into commodity languages, find a niche. It also helps (a lot) if you are conversant in the business domain that the software will be used in.

Submitted by Ovid on

As an ex-COBOL programmer and today doing a lot of work in Perl, I have to disagree. COBOL, ironically, was so powerful because it was woefully underpowered. There were no namespaces, no concept of scope, arbitrary string manipulation is painful and complicated math is also difficult.

So why does that make it powerful? When you look at JCL (Job Control Language), you see that many, if not most, COBOL systems are a bunch of small (for COBOL) programs which are stitched together with JCL. The first program might extract some data from a file. The next program might sort it. Another program might mix in some more data. A follow-on program might summarize that data. Another sort, mix in some more data, and finally generate the ubiquitous 133 column report to dump to the printer.

Sound familiar? It's conceptually similar to the extremely powerful and robust Unix pipeline model using tools written in C++, Java, Ruby, Python, etc. Frankly, commodity languages provide great flexibility and give the savvy developer the opportunity to investigate multiple business domains and not get locked into the limitations of primitive languages like COBOL.

For example, not many people know this, but there used to be something called COBOLScript (I believe work started on it in 1996), an attempt to bring Web programming to COBOL. It was a disastrous failure because so much of the Web is about arbitrary string manipulation, something which is almost the Achilles Heel of COBOL. With all those COBOL programmers out there, here was a perfect opportunity for them to take advantage of a phenomenon which completely altered the future economic direction of many industries, but they didn't because they couldn't. Perl could, and did, and now many other languages happily compete in this niche, but not COBOL.

Submitted by Bill on

Just another article with no specifics about a huge demand for some skill. Where are these jobs advertised? What companies are looking? The last time someone approached me for a COBOL job was about 5 years ago. They were offering to pay 'as much as $40/hour.' That's about the same rate I was making 20 years ago. I told them when you can pay me $75/hour, give me a call.

Submitted by Randy on

"The salary for top talent can reach six figures"

Depends a lot which currency those six figures are in. Here in Canada, top heavy duty mechanics, electricians, and plumbers also make six figures in US dollars.

If that's the 'top talent', it's probably the high tail of a bell curve that peaks around the wage level for a non-union grocery store clerk.

Submitted by Jim on

There is a place in the world where COBOL is still taught and used extensively. It's a little subcontinent on the other side of the earth. But the US government wouldn't use off-shore workers, you say? Are they sure about who their contractors' sub-contractors' sub-contractors really are?

Submitted by COBOL_JIM on

These jobs are not advertised on DICE/MONSTER the government only posts these jobs to USAJOBS.com and the descriptions are so cryptic you dont know what it's really for anyway. And you guys expecting higher pay for your programming, need to get off you high horse. you only get that kind of pay if you are self employed. yes the main contract company gets 90-120 / hour for your position but thats not what you can expect if you work for a company...expect 30.00 - 40.00 ish. Also every system i've seen converted from COBOL to some more modern language ends up performing slower and / or fail completely due to errors or cost.

Submitted by Matt on

In summary the talent shortage is because yet again business are colluding to hold down wages of skilled professionals. Why would I or anybody learn cobol to make them same amount of money I can make doing C#/Java?

Not to mention C#/Java skills are in high demand thus offer a strategic career advantage.

Submitted by COBOL guru on

It would take "reaching 6-figures" and then some to drag me away from modern tools back to COBOL.
Even Visual COBOL (yes, there Is such a thing)
Start pushing 7-figures? We can talk ;-)
Places needing it might find some retirees looking for some extra income part-time, or will probably resort to staffing services and let then find/train the people.

Submitted by COBOL_JIM on

And you are part of whats wrong with society. You feel entitled to earn 6/7 figures. remember your the employee, you dont demand shit...that is why companies outsource to someone that will work for the reasonable amount. Personally I'm happy to have a JOB and i know all the ancient languages (COBOL ASM FORTRAN) and the modern stuff (Java C/C++ C# etc). Their are modern tools for COBOL too btw, but the wordy language hasn't changed too much over the years.

Submitted by Mike Klaene on

Having started programming in BAL under DOS/360, then learning COBOL and PL/1 as an OJT programmer, makes me weird. Later learned 80x86 assembler, 'C', C++, VB, C#, PHP and JavaScript. And picked up an MS-IS along the way. But since I am over 60, trying to get a big $ job after being laid off by Siemens has proved difficult.

Submitted by Tim Davis on

I suspect you won't actually get much action until the last COBOL programmer in the organisation retires and they can't find anyone to replace him/her (but most probably him :) ). The clock is ticking. Good opportunities for anyone who can develop a reliable and practical code conversion system.

Submitted by Greg Wallace on

As a long term COBOL programmer who has looked at other languages, I still prefer COBOL. It is a little verbose but that is by design and it means it is self documenting. It is a camelion language in that it can look like other languages. I've seen COBOL programs written by BASIC programmers and they make it look like BASIC. A good text editor with block mode cut and paste eliminates much typing. I use TEXTEDIT. One never writes a program from scratch but clones another program so most of the structure and COBOL overhead are just there. For SAAS cloud web programs, I use COBOL CGI which is pretty close to but faster than PHP. MicroFocus COBOL promotes the .NET method. I just don't get the objections to COBOL. However, I agree that there is a wide impression that it is old fashioned and colleges are dropping it from courses. COBOL lacks an internet community that contributes code and help. The best and main COBOL providers are not free and this limits growth.

Submitted by 23 on

Started with RPG, COBOL and Assembler. Got thrown off the horse when Y2K bubble burst. Got back on with VB.NET and C#, clawed my way back to reasonable salary. Now near retirement I would definitely consider a long term contract with those old languages to wrap up the career. The stress of trying to bend numerous obscure and brittle behaviors of multi layered black box frameworks over and over again just to accomplish a simple application is insane. Yes, it is possible get proficient in modern languages but at what cost? A COBOL system might take a bit longer to code but the stress on technicians is considerably less and total cost over time is also considerably less. Microsoft likes to say its languages are intended to free development people from worry about the "how" to concentrate on the "what". Totally not how it is. Given a task a COBOL developer will quickly visualize what has to be done and will find themselves coding away with little thought as to the tool while the Object Oriented coder will be spending indefinite amounts of time trying to get some other wise obvious function to work in spite of worthless documentation and make all the boxes line up. Just saying the COBOL money may not be as good but the tool is outstanding even after all these years. The challenges of IT do not go away with COBOL, systems and databases are still the same, but all things such as pay being equal I would have gone back a long time ago had I known it would have been around so long.

Submitted by Greg Wallace on

I agree with 23 except I think it is faster to code.
The speed of development and change with COBOL is immense.
I developed a Share Trading interface for a client for $25,000 and a major retail bank did the same thing for over $1million. With the help of a VB specialist, we used VB for the very low level listening on a TCP/IP port which passed the blocks of received data (messages) and then sent a return block. COBOL did the complex parsing of multiple message formats and database access. It was also the fastest of all Australia's major players (banks) and the speed was in the backend COBOL. It was also multi-tenant which meant it became the preferred test environment by the Share Trading provider.

I agree that the number of lines of code is misleading, but prefer to keep one line one instruction for simplicity and ease of maintenance. I could "camelion" the code and have multi-instructions per line but this is not in the interest of ease of maintenance. The occasional compute statement is the exception.

I just don't get the objections to COBOL.

Submitted by Phillip Partridge on

This kind of 'shortage' article is posted yearly, yet I've yet to find a software house (here in Europe) that uses / maintains COBOL code willing to accept senior developers who don't have any COBOL experience.

Submitted by T. Rex on

I have a dozen COBOL programmers that work for me. Some are employees and some are contractors. Their annual income is between $80K and $140K. It’s not the COBOL knowledge that matters, it’s the application knowledge. If you’re a subject matter expert on an application, no matter what language you code in, you will make good money. If all you know is COBOL, you aren’t likely to find a job. If you do find a job, the salary will be very low until you build up some intellectual capital based on your application knowledge.

Submitted by Matt on

I also started on COBOL and assembler, and since then ABL, Python, Java, PHP, C#. Economics is why the COBOL code is there - if it works and costs more to replace than keep, an there is n o added value from replacement, of course it will stay. Have used COBOL on platforms from IBM PCs, Wang VS, IBM ES, Unix. It just works.

As some respondents have pointed out, its about knowledge of the architecture and the business that is most important. If you add that to selecting the right tool for the job, then you have a winning combination. A sensible business person doesnt give a hoot about what is the language-du-jour - they care about what is best for their business short and long term.

Our industry has a huge amount of clever people doing great things everyday in tools we never heard of. Unfortunately surrounding them is a big community of journalists and faddists. Trying going into a startup incubator with "Im going to make this XYZ mobile app in COBOL" !

So my advice is ignore the fads, use your own intelligence and advice from people you respect to choose the tools for the work at hand. It might be C# today for that .Net GUI app, python tomorrow for stitching together websites or COBOL on Friday for that cool new payroll system (that calls assembler modules). And above all....have fun.

Submitted by Laura W on

This is all great, but the problem started when they outsourced most of the COBOL jobs overseas. That problem still exists. The COBOL jobs are still being filled with outsourced workers - putting the American programmers out of work.

Submitted by Tal on

You might list how to find these government jobs. www.usajobs.gov has zero cobol jobs. This might help your article plus help a few cobol programmers.

Submitted by Genesis on

Thanks very interesting blog!

Submitted by bud gustavsen on

Mines still good.

Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Filtered HTML

  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <blockquote> <br> <cite> <code> <dd> <div> <dl> <dt> <em> <h1> <h2> <h3> <img> <li> <ol> <p> <span> <strong> <ul>
    Allowed Style properties: border, border-bottom, border-bottom-color, border-bottom-style, border-bottom-width, border-color, border-left, border-left-color, border-left-style, border-left-width, border-right, border-right-color, border-right-style, border-right-width, border-style, border-top, border-top-color, border-top-style, border-top-width, border-width, clear, color, display, float, height, list-style, list-style-image, list-style-position, list-style-type, margin, margin-bottom, margin-left, margin-right, margin-top, max-height, max-width, min-height, min-width, padding, padding-bottom, padding-left, padding-right, padding-top, text-align, text-decoration, text-indent, visibility, width
  • Lines and paragraphs break automatically.
By submitting this form, you accept the Mollom privacy policy.
Run Smarter®