The language isn't hard, getting new devs that stay 15+ years to learn the ins and outs of systems that large is.
We're making a push to get our cobol devs some kind of bonus foe sticking around because we can hire a ton of junior devs but after a few years only the ones nearing retirement are left.
Companies in a panic because some critical system broke / some critical system needs to be kept alive for a bit longer but all of the original people maintaining it have already left.
I’d love to see AI take on some of these 50 year old COBOL monstrosities, partly because it’s desperately needed but also because I have little faith that AI is anywhere near sophisticated enough to undo half a century of bad programming decisions without going sideways.
> undo half a century of bad programming decisions without going sideways.
I'd like to see AI manage to figure out 50 years of law and regulation changes and corner cases that have no documentation other than COBOL implementations.
I learned COBOL only to find the real reason the engineers get paid so much to maintain systems is not really due to their rarity but rather their extensive decades of experience which I will never really have.
A lot of new COBOL work just gets shipped off to India to be done cheaply.
It's not just Cobol that gets moved to India almost all dev is being moved there. When you get decent Devs for 45 buck's a day, there's no need in others.
This is mathematically untrue as ought to be obvious by the mere fact that other devs exist. There are more work needing good devs than good devs in the world let alone just India thus even expensive labor finds a market.
Why is there year on year more software developers in the US? When manufacturing jobs moved to China we didn't see manufacturing jobs increasing simultaneously in both markets.
You invoke emotionalal thinking while my statements are purely factual. Show me your numbers.
More software developers in the US does not exclude the possibility that there are also more developers in India, actually even more than in the US. My company has a presence in India, and it is noticeable that the company in general is favoring hiring in the India -- entire teams gets built in India, and headcounts are first given to Indian teams and then US teams
Sure, and now entire teams are being replaced by ChatGPT. My advice to American and Indian students: don’t bother studying computer science or getting into software engineering.
So we should only tell people in India to learn software engineering? Like how we moved all our factories to China? I'm sure this will all go super well.
Nobody replaces whole teams with ChatGPT because ChatGPT doesn't exactly work alone. They at best replace larger teams with smaller teams with better tools. More realistically the same size teams can now accomplish more. If I can date myself the person gluing chatGPT code, their own code, and the company codebase will be Dilbert not the pointy haired boss.
For the last 30 years every dev job that could be offshored has been offshored.
Now there is an issue; the salaries in India have not caught up - but they have come up a lot. The infrastructures in India bit a lot of people hard in the arse over covid and a lot of credit was lost there. Also political issues are looming large for people doing offshoring. You might have been very optimistic about the dev shop you've opened in the Ukraine, but that was then.
It's still a true observation. I have never ever worked in a company that has had enough onshore devs to do the work that is urgent and of high value. Never. When that changes I'll be concerned about software salaries.
You might want to look up how increasingly complicated it is to "take the H1B train". There is a lottery process where one has <10% of chance of getting selected in the "general" category. And many companies don't actually have this process of sending you directly to US -- you need to spend years to get a degree from a US institution and find a job just like people from other countries. It is nothing "simple". Do your research.
Yep, average COBOL salaries don’t touch modern SWE salaries. The crazy money is limited to a few expert consultants as you point out.
> A lot of new COBOL work just gets shipped off to India to be done cheaply.
This is becoming less true for the reason I mentioned above: the pay is much higher for modern languages and tools, which means that the big Indian contracting firms are now training Java/AWS platform devs instead of COBOL. This is creating a growing shortage of COBOL talent that is beginning to impact onshore COBOL dev shops.
I'm a little surprised that AI is the best way to approach this, as opposed to some kind of transpiler. I'd be more inclined to trust the latter for correctness.
The transpilers I've seen have created some extraordinary Java. If you've experience of the COBOL "Data Division", imagine how that gets ported across to an object oriented language..
But I still agree with you. I've experience of a couple of COBOL migration projects, and I wouldn't want AI anywhere near it. The testing required is insane enough as it is, and the once-a-decade corner cases numerous enough for the idea of using AI on this to scare the bejeesus out of me.
This is code that can still contain for-loops to slow down processing so the teleprinters can keep up...
Interestingly if I were using AI to do this the place I would focus is testing. Coding assistants seem to be very good at generating run-of-the-mill testing, which would free up testers to focus on the once in a decade stuff.
You can quite easily get GenAI to rewrite some code blocks from Cobol to Java. The issue is getting it to do it at scale and reliably.
I think it's possible, but I think it's a 10 year research path.
IBM will get folks to buy into this and then incrementally refine it for about 5 years. At that point they will start lagging the state of the art because they will stop investing. In about 10 years there will be various tools available from many vendors or opensource that will significantly automate it and we will call it solved.
In reality there will be some niche jobs for folks to use the tools, and those folks will both work hard and get paid well.
Though many COBOL programs have large important bits that aren't in the code at all. Things like JCL, various batch schedulers, facilities like RACF, etc, can mean that porting the code only gets you part of the application.
This is going to end in tears - of laughter or despair, I cannot predict.
But tears nonetheless. COBOL code has typically gone through decades of bug-fixing and maintainance and is of industrial strength, just like the mainframe platforms it runs on, with reliability and uptimes that are insane compared to distributed, server-based systems. Replacing all that with java to run on servers is already a losing proposition. There's no way that Java on servers can reach the same reliability as COBOL on mainframes, even given some kind of perfect translation or transliteration between the two. Now, COBOL translated to Java by "AI", whatever that means for Watsonx (I think it means by "foundation models") is just asking for trouble.
Trouble, note well, that translates to many millions of hard $$$ lost.
"IBM on Tuesday announced generative AI tools to help address that problem, modernizing antique mainframe software for the cloud by refactoring COBOL code to Java."
Anyone else thinking, "Now they have two problems"? :-)
46 comments
[ 204 ms ] story [ 1823 ms ] threadWe're making a push to get our cobol devs some kind of bonus foe sticking around because we can hire a ton of junior devs but after a few years only the ones nearing retirement are left.
What kind of 'ins and outs' are in this context ?
I'd like to see AI manage to figure out 50 years of law and regulation changes and corner cases that have no documentation other than COBOL implementations.
A lot of new COBOL work just gets shipped off to India to be done cheaply.
The days of the irreplacable, highly paid software engineer who does the bare minimum are over
You invoke emotionalal thinking while my statements are purely factual. Show me your numbers.
Now there is an issue; the salaries in India have not caught up - but they have come up a lot. The infrastructures in India bit a lot of people hard in the arse over covid and a lot of credit was lost there. Also political issues are looming large for people doing offshoring. You might have been very optimistic about the dev shop you've opened in the Ukraine, but that was then.
It's still a true observation. I have never ever worked in a company that has had enough onshore devs to do the work that is urgent and of high value. Never. When that changes I'll be concerned about software salaries.
> A lot of new COBOL work just gets shipped off to India to be done cheaply.
This is becoming less true for the reason I mentioned above: the pay is much higher for modern languages and tools, which means that the big Indian contracting firms are now training Java/AWS platform devs instead of COBOL. This is creating a growing shortage of COBOL talent that is beginning to impact onshore COBOL dev shops.
[1] https://ocamlpro.com/blog/2023_03_18_autofonce/
But I still agree with you. I've experience of a couple of COBOL migration projects, and I wouldn't want AI anywhere near it. The testing required is insane enough as it is, and the once-a-decade corner cases numerous enough for the idea of using AI on this to scare the bejeesus out of me.
This is code that can still contain for-loops to slow down processing so the teleprinters can keep up...
As for COBOL, it was added in 2002.
"Why Move to JVM COBOL Code?" - https://www.microfocus.com/documentation/visual-cobol/vc60/D...
I think it's possible, but I think it's a 10 year research path.
IBM will get folks to buy into this and then incrementally refine it for about 5 years. At that point they will start lagging the state of the art because they will stop investing. In about 10 years there will be various tools available from many vendors or opensource that will significantly automate it and we will call it solved.
In reality there will be some niche jobs for folks to use the tools, and those folks will both work hard and get paid well.
Even if the AI delivered on the task of converting the text from COBOL to Java, it’s not going to preserve the theory.
But tears nonetheless. COBOL code has typically gone through decades of bug-fixing and maintainance and is of industrial strength, just like the mainframe platforms it runs on, with reliability and uptimes that are insane compared to distributed, server-based systems. Replacing all that with java to run on servers is already a losing proposition. There's no way that Java on servers can reach the same reliability as COBOL on mainframes, even given some kind of perfect translation or transliteration between the two. Now, COBOL translated to Java by "AI", whatever that means for Watsonx (I think it means by "foundation models") is just asking for trouble.
Trouble, note well, that translates to many millions of hard $$$ lost.
This is going to end in tears.
Anyone else thinking, "Now they have two problems"? :-)