If it ain't broke

The Picard Maneuver@lemmy.world to Memes@sopuli.xyz – 906 points –
62

There are people learning Latin in case it comes back. COBOL isn't that much older

too be fair I studied Latin at school 40 years ago so this tracks

We found a COBOL programmer in the wild!

I’d ask you to retire and finally give a young person a chance, but none of them want to wait for floppy drives to load.

I work with COBOL programmers who came to Australia as adult refugees from an American war in South East Asia

Excuse my ignorance but is COBOL still spoken there? Sometimes language islands survive you wouldn't expect

I met a young man intent on learning, not as a first language, but he had hopes of becoming fluent

My past job was as a translator between business (in their "requirements" and "feature" languages) to COBOL programmers in something like careful unambiguous English (of which most have a reasonable understanding)

COBOL programmers have some of the highest salaries of any other languages specialized programmers, but I don't know if that is due to rarity of COBOL programmers, the fact that those jobs are all government or financial institution employed, or because the average experience for them is 58 years?

The Stackoverflow developer survey debunks this myth, year after year. Not only do COBOL developers make about the middle of the pack, they sit at an average of 18 YOE which makes absolute bank in other stacks

https://survey.stackoverflow.co/2022/#section-salary-salary-and-experience-by-language

Programming salaries are so inconsistent and these salaries by language become so meaningless.

My buddy who works in Google makes 600k but can also call himself a Typescript developer. I'm a dept lead but I've spent the past few months fixing business critical code, so depending on how the question is asked, id look like a overpriced jQuery/Angular/bash developer.

This is true, but the Stackoverflow datapoint was the only quantitative one I could think of. Anecdotally, I see senior COBOL developers making less than juniors but still thinking they're paid lots

The idea that a job req could actually ask for "50+ years experience" in a given piece of computing technology just gives me goosebumps. Like someone did a really good job 50 years ago, or a really bad one. Either way, it's astonishing that any one thing could be in production use that long or longer.

When a piece of software does a very limited set of tasks that cannot be meaningfully improved, and when minor mistakes can equate to millions in cash or even lives lost or ruined, the name of the game is maintain, maintain, maintain. It ain't broke, leave it the hell alone, because updating, upgrading or porting your system will inevitably lead to some sort of mistake.

You're exactly right. And if the retrocomputing and retrogaming communities have taught us anything, it's that good emulation can make such systems last for a very long time.

IBM are still making mainframes

I note they recently changed the way they charge large users , to the benefit of users with uneven compute loads (after buying an IBM mainframe you must also pay IBM for the amount of processing you do on it)

Contractors make a lot of money, but that would be separate to standard engineering salaries

I've known a few people that graduated about a decade ago and decided to work in really niche tech like COBOL, Salesforce/SOQL/SOSL, VB6, Sitecore, etc. Hell, one guy I met was a professional "ActionScript" programmer! Many in-store and company kiosks used Flash to program their interfaces, so he'd do basic maintenance, add features, and collect six figures for half a year of work and all the travel around Europe/Asia he wants.

or because the average experience for them is 58 years

Some have more?!

Most have more. Like 3 guys just learned it as a prank last year for the first time in generations, which kind of threw off the curve. Every other COBOL programmer is technically old enough to retire, but they are contractually required to continue working until the heat death of the universe.

Dang, you guys are single handedly bringing that average down huh?

but they are contractually required to continue working until the heat death of the universe.

This sounds worse than Russia. Please fix.

The big users of COBOL are the sort that don't pay their developers all that well. Government, banks, giant corporations. The sort of places that still have pensions for long service

Fr tho what happens when all the COBOL programmers die off?

Like all old systems, do nothing and pray it doesn't shit itself.

It's too lucrative to die completely, somebody will always be there to take it up.

I have some experience and no formal training. If I dove into cobol classes and certs would that alone be enough for potential employers? Not in a get rich quick kind of way, but more of a ‘what’s the fastest way I can become attractive to employers without having to go back for a degree cause my current career is falling apart and I need to transition to something that isn’t actively injuring my body.” Kind of way…

i have a mainframe (the type of computer that runs COBOL) IT job after four years of school majoring in CS and minoring in mainframes. my most recently hired coworker got the same job with no college and an aprenticeship program. if i could do it all over again, that's the route i would take in a heartbeat

Amazing. Are there lots of modern standards, modern best practices for how to use the ancient tech?

yeah, at least where i am the cowboy days are long over. we have a modern change control system on the box that ties into our company's broader service management system, and methodologies like agile are used (and misused) just like in the newer departments. the software and hardware are also constantly being updated by IBM and keeping up with them and other vendors is a full time job all on it's own- really the only things ancient about it are the oldest parts of our own codebase and the terminal interface. we actually have a product that lets us bypass the terminal now and do everything in eclipse but the old timers don't use it because the terminal is easier for them and then the newbies don't use it because any time the oldbies teach them how to do something, it's on the terminal emulator lmao

Thank you for this! Any pointers from your coworker on apprenticeship programs?

i THINK he went through these guys but i'll double check tomorrow and let you know if i was wrong https://www.franklinapprenticeships.com/

if you have an edu email, IBM also does a "master the mainframe" program every fall that takes you from zero experience to developing a full application, which is a great way to learn the whole stack

I wonder why they require an edu email? Probably some tax reason. Then I wonder how hard it is to get a cheap or free edu email.

TL;DR: it's probably not that hard to pick up compared to the complex and deep stacks we use today. Someone will give it a shot.

COBOL is in a special place in our computing legacy. It's too new to require intimate knowledge of the electronics that drive it (older systems and machine-code did), and is too old to be all that complicated (target machines were much smaller and slower). I would wager it's actually not that hard to learn, and is probably a dream to code with modern equipment. You won't be slowed down by punchcards, tape drives, time sharing, etc., and can probably use VSCode and an emulator to cover a ton of ground. The computing model is likely a straight line (storage -> compute -> storage), with little to no UI. In other words: simple by today's standards.

The last update in the standard is from 2023 and includes OOP.

If you are new it's probably easy. If you have some experience the roughness of it will drive you mad.

New folks are learning it. Obviously not in droves, and obviously there is a lot of legacy knowledge, but new people are def training on it.

COBOL is not hard to learn. But it takes years to develop the muscles in your fingers to the point where you can write a subroutine in a single session.

I took courses in uni for COBOL and you're right, the language itself isn't difficult, it's honestly a lot like writing plain Englisch but making sure your JCL was correct, checking I think it was the spool in order to make sure your jobs were working correctly, reading memory dumps, it was a ride. I love mainframe but it feels like all jobs mainframe ask for 5+ years experience

Fr tho what happens when all the COBOL programmers die off?

Uh, how do you think learning programming languages works exactly?

Maybe we can extract COBOL programmer DNA from a prehistoric mosquito that got stuck in amber, and then combine it with frog DNA to produce a new generation of COBOL programmers? We could build a facility for this on some remote island, maybe call it COBOL Park or something?

People think there's job security in this, but there's really not. I have been called in to replace archaic code with more modern/easier to read code.

It pays very well.

And there have been companies that are paying millions to a small firm to rewrite their COBOL software that covers the same feature set but also opens the door to extendability.

It really depends on management. Some companies don't mind paying IBM for new mainframes just to avoid any risks touching it, others are desperate to "break the monolith" and migrate from COBOL to something modern... like Java8. You win some, you lose some.

Niche skills will demand higher salaries. Thus you'll still get a few that learn it just to enter the niche.

They will unfreeze my head 1000 years from now like Futurama.

Upon waking, scientists will welcome me to the future world....

... Then ask if I wouldn't mind making a change to a COBOL app still in use by the gov.

Man I wish our politicians had as much tech savvy as these ancient COBOL programmers.

Well, I guess they will, once these folks retire and start running for president.

Well, I guess they will, once these folks retire and start running for president.

Lol, we all wish.

they're more popular than both candidates

I don’t think that they’re using COBOL. Isn’t that more finance oriented, or am I mistaken?

I’m on an airline currently and network too shit to Google properly. Please excuse.

Yes, I mean it's used for transactions in the programming sense of the word. Turns out financial transactions require that as well. I assume the same goes for nuclear stuff. There is just very little risk to come across uncertainties when the language is that old (and the people who use it hehe - tbf it pays super well).

Edit: at least to my very limited knowledge

I'd actually be more surprised to learn they didn't move to Ada when that was THE DOD programming language.

There are Udemy courses on cobol, I'm sure any developer can get up to speed pretty fast.

Or just use an LLM, like the rest of us now

Speak for yourself. I don't use LLMs and never will.

It always irks me when people talk about it like it's universal and inevitable when that's very far from the case. There are many, many issues with them and many developers wisely choose to ignore the fad.

I'm with you, I drew the line at calculators though. I can do the damn sums by myself!