COBOL Programming Course
github.com
github.com
I do think this could benefit from someone making a nice "modern language" landing page for it. I remember an April fools joke from 20 years ago promoting COBOL as the hot new web language, maybe it's finally time :)
[0] https://github.com/openmainframeproject/cobol-programming-co...
[1] https://github.com/openmainframeproject/cobol-programming-co...
Cobol on Wheelchair https://github.com/azac/cobol-on-wheelchair
Cobol on Cogs http://www.coboloncogs.org/INDEX.HTM
I'd totally be down for learning an obscure language and deep-diving into sensitive systems that have been providing value for a long time already. But basic economic logic tells me that there won't be a free lunch there, I mean people pick up new programming languages all the time.
The big problem those guys are running into is that they aren't paying anywhere close to market rates for engineers working in more modern stacks. Senior developer pay tops out around $120k last I checked and they've been reliant on cheap offshore contractors for years now to insulate themselves from paying modern dev wages in the US.
Funny thing though, the contracting firms are now notifying these companies that they won't be supplying COBOL developers into the future because there's a lot more money to be made contracting out devs in modern stacks than COBOL. It doesn't get a ton of attention because nobody can see the future, but hearing my dad talk about his company makes me slightly concerned about the future of our digital payments infrastructure.
It's not the amount of stuff that runs COBOL thats a problem, it's how critical that infrastructure is to human society - I don't think that's an overstatement.
Exactly, and the regression horror stories I hear are unbelievable because these codebases are so old.
A while back, a major customer of this processor transmitted a payment reconciliation file that had bad headers in it and brought down the entire reconciliation system (billions of dollars a day flow through this platform). No basic input validation, no escape hatch for corrupted files, nothing. I couldn't believe it when I heard the story. The crazy part was how long it would take to harden the system against bad input like that because a lot of that code was written 20-30 years ago.
People working in modern systems think they know tech debt...
I know its a meme at this point but there is definitely some sort of demand, I think the problem is that, while the stock of people is diminishing, they want battle hardened experts to come in for a few grand a day and do a thing and leave. Not a young developer wanting salary with a big backlog of work.
In the late 80's early 90's Cobol programmers were being laid off by big companies, as it was all going PC, the COBOL millennium bug stuff was outsourced to Indians because those companies who laid off their staff couldnt get them back.
Its mainly a rumour for the UK and possibly other Western countries.
Tesco bank, TSB all use PC's, the TSB banking system was a rehashed share trading platform which is why they had problems a few years back, seems no one likes old school db transactions.
Tesco is full on in MS's pocket as is most of the NHS systems, and these are all online, when you do your online Tesco shop you connect to the store that will do the delivery because every store has a different product range and no mainframe or server could handle that for the whole country. You your GP surgery systems, regional health trusts, are all online which then gives you an idea of who is behind Wannacry considering the level of spooky surveillance of telecoms here in the UK.
But no remote teams, no companies ready to offer any support for relocation and not a pay making a move worth it until I've built up some savings.
I think the offers I've seen in Scandinavia are 35-40k/month for a dev with some experience, and very slow wage increases.
It's true there is a lot of demand, but it's not true that it pays a ton. The devs returning from retirement with 20 years of experience with the specific systems can, and do, charge a lot though.
Is it codebase migration to newer stack? Adding features in Cobol? Documentation for the next generation of Cobol developers maybe?
I think Cobol development/maintenance work should exclusively done by contractors/agencies as opposed to hiring employees. Contracting is perfect as older devs are more suited to work part time or as sub-contractors and banks don't need to have a greater responsibilty of an employee whose skillset is what they are trying to abolish.
If it were as easy as learning COBOL for free on my own time I would do it in a heartbeat. Can't be worse than having a dead-end IT support job.
Most (IME, and I suspect generally) of the places hiring COBOL devs already have COBOL devs (and probably non-developer mainframe ops folks) doing those other tasks already, and if someone is both a half-competent programmer and knows COBOL-the-language, having them pick up the other stuff through OJT is probably tolerable.
So, frankly speaking, there is plenty of demand but it does not pay anywhere close to market rate for US based engineers.
By the way if you are already a reasonably good programmer you can pick up COBOL in a few weeks. It's a very straightforward language. Getting familiar with how things are done on a mainframe will take longer.
I mean, yes, there's a challenge in navigating boring legacy COBOL banking systems, which follow no conventions, were created before code versioning was a thing, or best practices for that matter. Yes, it's challenging and therefore of interest to hackers, but still...
... striking my fingers with a hammer is similarly interesting and challenging, but why would I want to do it?
COBOL shops in my (admittedly limited experience in the early 1990s) had conventions, standard skeleton code for various things (referred to as copybooks) and source code control of a sort (very centralized of course, since everything was centralized). They definitely had separated "regions" for dev, test, and production where I worked, and a process for moving code changes to production. In my experience (as a staff consultant with a major firm), if they had consultants building systems, they certainly had a defined methodology, as consulting firms love that.
I'll grant that there may have been a wide range of variance on this sort of thing. Just as there is today in many shops.
I'm also not trying to sell anyone on the idea. Going back to COBOL would be about the last thing I'd want to do personally, even if there were good money in it.
Unlike what recurring posts on HN would have you believe, it's also not the way to a high paying job, either.
The place had given up hiring actual COBOL programmers, and instead hired pure computer science folks and Java programmers.
That combo seemed to work fine.
Java is a starting point for many programmers, especially because there was a time were every "coding school" was a Java shop. But programmers naturally migrate from that to other waters: some to Scala or Kotlin, others shift gears and go to Python, others choose Golang.
Java has a special affinity to COBOL, if only because Java is/was widespread in "enterprise" systems. A common joke was that Java was the successor of COBOL!
Lots of positions would say “seeking Java programmers” but not involve actual Java.
I think this was because there was a surplus of Java people.
Likewise, running COBOL tied to an x86 instance could be feasible but would be missing the point entirely.
You could more or less consider a JEE application server as a software implementation of a mainframe. Java AS (Websphere, Weblogic, JBoss...) are essentially what killed the mainframe and midrange (IBM i / AS/400) in the enterprise. So yeah, Java/JEE, COBOL, RPG: different languages, same goals under the hood.
Late 70s, IBM mainframe at college, running FORTRAN, PL/1, and PL/C. The guys that knew the secret sauce hung out in the keypunch room and once in a while applied their magic. SYSIN DD *, and all that.
IDENTIFICATION SECTION.
AUTHOR ULTIMAPE.
PROGRAM DIVISION.
CODE STARTS ANY MINUTE NOW.
YEAH, REALLY.
LEARN COBOL GIVING HACKING RESULTING IN INFILTRATION.
CODE ENDS HERE.
REALLY.
THE END.