Think COBOL is dead? About 95 percent of ATM swipes use COBOL code, Reuters reported in April, and the 58-year-old language even powers 80 percent of in-person transactions. In fact, Reuters calculates that there’s still 220 billion lines of COBOL code currently being used in production today, and that every day, COBOL systems handle $3 trillion in commerce.
There’s now some concerns about where the next generation of COBOL programmers will come from. In 2014, American Banker reported banks are “having trouble finding talented young techies who want to work in a bank and a shortage of people with mainframe and COBOL skills.” The CIO at the $38 billion-asset First Niagara Financial Group in Buffalo said they can’t compete with Google and Facebook when it comes to offering young techies a “cool” workplace for their resume.
What they really mean is that they're having trouble finding young programmers at the remuneration they're offering. Why would anyone choose to work in a bank with fifty-year-old technology that no one else uses when down the street they can get a job working on something way more modern for the same money, and that they can later use in their resume?
If they offered double or triple the market price I assure you they'd have absolutely no trouble filling those positions.
When I was young it was a kind of privilege to work for a bank or insurance company. 13th salary and other benefits. Maybe not in the US.
Where should people learn the skills? Who is going to teach young willing prospects COBOL on a mainframe? Seems companies are not interested to train people. People have to learn programming at school, university and they probably don't have the proper teachers.
I have never used COBOL os I can't say if it is more difficult to learn than other languages.
When I was young it was a kind of privilege to work for a bank or insurance company.
I didn't meant to emphasize the "bank" part. My point is that basically only financial institutions are using COBOL. If someone decides to follow that career path, they're likely to end up getting locked into that domain. What other prospective employer is going to care if you have five years of experience maintaining a COBOL codebase? People aren't taking those jobs because they realize that they'd be taking on a risk without being adequately compensated.
Where should people learn the skills? Who is going to teach young willing prospects COBOL on a mainframe? Seems companies are not interested to train people.
Eventually it won't matter whether they're interested in training hirees or not. Eventually there will be almost no one who knows COBOL and doesn't already work in a bank. Their only choices will be to either retire the codebase or train people themselves.
Their only choices will be to either retire the codebase or train people themselves
Training new hires in a programming language they haven't used previously (I've seen that done with Fortran and with Scala, not with COBOL, admittedly) is commonplace in finance, and not even the hardest thing new hires have to be trained in.
This isn't a real problem.
helios wrote:
they're having trouble finding young programmers at the remuneration they're offering
Why isn't the remuneration good?
When we think about the law of demand and supply a high demand and low supply should mean a good remuneration or doesn't this law apply to the job market?
Let's assume that COBOL jobs pay 15-20% more than otherwise comparable jobs. Do you think that would compensate you for:
* Possibility of becoming unemployable in other domains.
* Working with old, unpleasant technology.
* Maintenance mode forever. Little chance of working on new projects.
?
Personally, I would prefer an exciting job that maybe payed a little less.
Lets say as a C# programmer I could earn 50'000US$ a year and as a Cobol programmer 60'000US$.
If I were young and had to work for around 40 years I definitely would be a Cobol programmer.
Though it probably would be less fun we are talking here about 400'000US$ - that's a nice house and maybe a BMW as well.
I suspect Fortran has been evolving more rapidly than COBOL. At the very least, I know of at least two compilers for it: GCC's and Intel's. I don't know of any COBOL compilers. That tells me there haven't been any new implementations for a long time, and the ones that do exist are outside the public eye and are less subject to scrutiny and criticism. Evolution happens much more slowly when there is no selective pressure.
I know of at least two compilers for it: GCC's and Intel's
in 2012, I was using three other Fortran compilers: Oracle's, IBM's, and HP's. I suppose they stay "outside the public eye" by not targeting x86, but each new version (starting with the earliest betas) was met with scrutiny and criticism by us, their paying customers.
I was rather thinking about scrutiny from other compiler designers. User feedback is important to be sure, but they don't always know what's best.
EDIT: And you bring up another point: those COBOL implementations have been targeting the same old architectures without any change, further reducing the need for evolution.