My wife stopped applying for jobs involving government programs involving COBOL several years ago. She is very fluent in a lot of languages including COBOL, FORTRAN and so on. The issue is that these agencies never want to pay real wages for a very narrow skillset. The last one told her that their entire budget for the system rewrite was less than $100k and they were expecting to hire 4 programmers to get the job done because the consultant they had hired told them that it needed 4 programmers.
Funnily enough, from a few years ago until about a month ago, 130K was the bottom salary to avoid having to prove that an H1B hire didn't take a US worker's job. Or something along those lines. Point being, it was a statutory number. Perhaps coincidentally in your example, but...
I used to work for a “poorer” state a while back and made a wage lower than most people here could possibly imagine. The stereotypes about good benefits were also rather overrated. Pay bands were bureaucratic and raises (even minor CoL ones) were rare. And ofc, there was literal politics invovled. Outside that, the job itself wasn’t particularly worse than an average corporate gig.
You are right, the pay is insanely low for the complexity of the task being asked. In my experience, state governments are quickly warming up to paying for this kind of specific help. Although, most plans involve sunsetting the system for modern standards, so it isn't exactly a permanent gig.
There’s always Go or Ruby or Elixir (and the usual bucket of Java and c etc) whatever paying way more at startups and big companies.
I see hitting wrong with hiring some Latvians. They have competent programmers.
Those wages would have gone up if the Latvians didn’t figure out this niche existed.
So many developing countries have and incredible about of opportunity in front of them just copying what the US did and our pays lots for. If I was born in any of them I’d look around at what the developed countries had that works without the usual awful gov meddling and do a top end offering of it for my country.
The great thing about programming is you can really think of anything and just do it (like wise with entrepreneurship). If you want to make money either exploit existing obvious underserved markets or build a new one with actual value creation people pay for.
The suckers in developing countries sit around waiting for their gov to figure everything out for them. They’ll be waiting their whole life until gov agencies catch on to value creation opportunities.
It’s always those who go out to look for it. Small businesses and whatnot used to be the for new immigrants to North America and largely is. But too much of the existing population forgot that and blame the past generations or gov or their culture pushing useless degrees instead of going out and trying to find opportunities themselves.
> Schell said a college in Latvia still teaches a curriculum on this outdated programming language, so North Dakota opted to hire two Latvians to help manage and maintain the state's unemployment insurance mainframe.
Wouldn't want someone working on a project if they haven't had a university course in the language, after all.
I wonder what language it is. I also wonder why the article went out of its way to avoid telling us.
It’s almost certainly COBOL with some shit sandwich front end put together circa 1998-2004.
The PR angle on this stuff is weird... they can downplay incompetence by throwing the 1980s card, and razzle dazzle the ignorant audience of North Dakotan journalists and political types by unveiling the Latvians.
The Latvia angle is rich, because it isn’t India or China (bad political optics). In the public mind, Latvia is sort of like European Canada, except fewer moose and different hats.
Aside from the other comments about the NATURAL language, that time period is pretty much exactly when MicroFocus was releasing their new "COBOL for Windows" product, which I can see satisfying your "shit sandwich" prediction. :)
We went to Riga for the first time last year. What has stuck with me is going to the Museum of the Occupation [1] and spending some time there.
Latvia was occupied by the Soviet Union in 1940, then invaded by Nazi Germany in 1941, then the Soviet Union took it back in 1944. People who attracted the attention of the authorities in any way during those times didn't survive.
Sure, Cambodia, Armenia, etc. might be worse but very not Canada. Many people probably don't know that, of course.
I'm not so sure about the Canada parallel: Canada has GDP per capita closer to the US, Latvia is much lower (but still much higher than Latin America and China so I'm not sure what other case would be similar).
I think they meant Latvians here are being portrayed as friendly or harmless like Canadians often are as well — not so much a reference to standard of living.
End of the day, Latvia is exotic but also harmless.
It’s really weird to put in a press release that two contractors were hired and stress the Latvia angle. Me being the cynic I am about such matters assume that it’s a distraction from an actual story!
Yeah any experienced programmer could pick up Cobol and work on the project assuming its long enough in duration to be worth it. No college class is needed.
Seems like they just didn't want to pay a high wage and it was an easy excuse to look internationally. Not that's there's necessarily anything wrong with that, but the headline should be "North Dakota outsources white collar work to Eastern Europe, citing lack of local talent."
Any programmer could write in the syntax of cobol, but it's a very different way of thinking from c based languages.
Stepping into an undocumented code base is killer, but one that is "un conventional".
I'd wonder about the career path of someone stepping into this role would have. What's next?
Probably cheaper to hire the Latvian from Latvia than bring either Indians from India or just already recently settled Indians in the tri state area (who are almost always pretty highly paid).
I graduated in Europe ten-ish years ago and even then I never came into contact with COBOL, and if the article is to be believed apparently there are a few more legacy systems here than in the US. I honestly doubt there are a lot of people under 40-50 who are proficient enough with these systems to work on government infrastructure
absolutely nothing, that was not my point. But people in the industry with that kind of experience are likely already in a spot where taking a job like that is a step back career wise, which is why it isn't surprising that they need to go as far as Latvia to find workers.
I mentally chop adult age groups at 18, 21, 25, 40, 65, and 90. Within those groups, I don't really conceptualize any difference. Two clarifications: (1) this is talking about a single person, not a group, and (2) it's really more based on behavior than age; my grandma is in her eighties, but is so mentally sharp that I think of her in (the top end of) the 40-65 group.
I can't find anything in Google, but if this was a game show and I had to guess, I'd say that the modeling is/was done in FORTRAN, but the reporting was done with COBOL.
Yes, I have worked with plenty of experienced engineers who would have no problem picking up a new language and spelunking through legacy code on a legacy operating system.
I think the article couldn't tell us because it seems as though it's reporting on a statement from the Governor, who probably doesn't know the language himself. (nor is it important for him to know, whoever he has on staff clearly explained the issue for him to get a grasp on it)
Burgum's not a typical pol when it comes to IT stuff, he was the CEO of Great Plains Software which Microsoft bought for $1.1 Billion, was then Senior Vice President of Microsoft Business Solutions Group. Apparently he was also chairman of the board for Atlassian in 2012.
Being Governor is his first political office. I'm not saying he knows Cobol, but I'd bet he knows probably as much about it as most of us here do.
He probably does; he's got more tech credentials than every other major US politician. He founded a CRM company in the 90s, sold to Microsoft for $1billion, then worked as an executive there for multiple years (and was Satya Nadella's direct manager/mentor).
…and this is the problem I have with journalism today. They merely report the statements that people make about some topic. But if the people making the statement don't answer some question you the reader might have? Tough cookies.
Sure, the Governor might not know, but, you know, perhaps he can help put the journalists in contact with the relevant department head who might know, or who might know who knows.
Instead, we spent the first three paragraphs repeating various wordings of "Old system. Not paying enough for the expertise we need to bite in America. Hired some Latvians."
Their website[1] hints at the language at being either "COBOL" or "NATURAL":
"NDIT is maintaining several customer systems that were written in the COBOL programming language. These are batch and on-line applications that run on our mainframe computer. Our direction is to phase out COBOL programs as systems are re-written in newer technologies."
"NATURAL is a fourth-generation programming language that NDIT runs on our mainframe computer and Linux environment. NATURAL applications can run in batch or on-line mode. Our direction is to phase out NATURAL programs as systems are re-written in newer technologies."
Edit (Additional Note): The University of Latvia seems to create content about both[2].
AFAIK COBOL was never popular in ex-Soviet republics, but "natural programming language" was taught in most schools in some form. Usually it wasn't considered a real programming language, though, just something like a pseudocode before translating it to basic or pascal.
I'm honestly curious what will happen to these systems in 20 more years when most of the skilled knowledge retires and the resources, documentation, and toolchain maintenance goes with it. Industrial automation from years past moved to hardware emulation to keep the binaries running on ancient oil refineries that would be wholesale replaced at some point.
The systems described in the article store real data that would need to be migrated, which may be locked in uninterpretable binary formats read using binaries which can't be run on modern hardware.
I had a friend in college who got to maintain a piece of banking software. There was no source code, no documentation, and no team to contact. A running binary was all he had to work with.
After so much maintenance and improvement had been done on the compiled binary, the source code wouldn’t help even if you had it.
Machine code is code like any other code. Sure, often not easy to read or modify, but not impossible. I'd start with a disassembler, a debugger, possibly a decompiler and lots of patience. Given appropriate time and pay I might even consider it a fun job.
I suppose it depends on the code you're trying to understand. Depending on its size, style (therefore, ability for a human or for a decompiler to understand it) and other factors, the best blend of tools can change.
I've studied in LU in 2009 but don't remember Natural or COBOL. maybe it was some time before.
But academics always love some non-mainstream esoteric languages so I am not suprised some course has one of those even now... We Latvians are mostly seen as more or less competent programmers but more expensive than Belarussians :)
Odd, I remember an advertisement a couple years back for SAP programmers that was $200+ per hour from the state. I wonder what computer it actually is. The University business school still teaches COBOL and there are plenty of COBOL and RPG programmers in the state (yeah AS/400). Also, our governor is definitely tech savvy.
"North Dakota saves a few bucks by hiring Latvians to manage an ancient computer system"
by H. Nester Porter
"State officials admitted recently that they chose to hire programmers from outside the U.S. because they could not find any American programmers willing to work for Latvian wages.
"They cited the recent example of New Jersey. In April of this year, New Jersey governor Phil Murphy said during a press conference that the state 'urgently' needed programmers with 'Cobalt' experience. Left out of many reports at the time was that the state was looking specifically for 'volunteers'.
"The United States' shortage of volunteer Cobol programmers is now a national crisis, according to some sources. Without a volunteer labor pool to draw from, state agencies are now being forced to pay small sums of money to developers from countries with significantly lower costs of living.
"One source, speaking off the record, said that state officials believe that domestic politics are contributing significantly to the shortage of free labor. Silicon Valley's abuse of H-1B labor was recently met with regulatory scrutiny, forcing some companies to treat foreign nationals like real people. Meanwhile, other American workers are increasingly making demands that companies and agencies would prefer not to offer, including a living wage. Some socialists have gone so far as to wonder aloud if it would be okay to ask for affordable health care.
"North Dakota governor Doug Burgum, speaking from his recently-renovated governor's residence, said, "There's just no need to pay Americans for work like this, not when we can save taxpayer money with international contractors."
"The governor's residence was newly constructed in 2015 for $4 million, and an additional $250,000 of oil and gas royalties were earmarked for further improvements this year."
Tried to read the article, got stopped by a paywall, going to assume the issue is COBOL knowledge. If I'm wrong feel free to call me an idiot.
We had a rash of these COBOL articles earlier in the pandemic due to the need to update unemployment systems - https://www.inputmag.com/tech/ibm-will-offer-free-cobol-trai... is agood link to review - but just to reiterate to anyone considering learning COBOL:
Don't do it if you want to maximize compensation. Do it only if you're interested in the language. COBOL is a interesting language that is unlike most, if not all modern languages. It's great if you want to stretch your brain and attack new challenges. But it will not increase your compensation. Most COBOL opportunities are in the public sector working on unemployment services, taxation, etc. Their compensation is unlikely to exceed $100K - you'd be much better off learning the bleeding edge technologies and solutions, grinding LeetCode, etc.
With that said, I learned COBOL early in my career and it is quite interesting - it's worth a poke at the Wikipedia page if you're interested in history.
My first long term programming job was writing COBOL code to replace some Autocoder programs. I think they were ashamed of the Autocoder stuff though. The only time I saw any of it was during final acceptance for the last program in the system. I couldn’t duplicate the output from the previous system. It was eventually traced to the fact that an object code patch had been applied to the old program, since they had stopped paying license fees for the compiler. This patch was documented by a hand-written note on the official program listings.
Depending on what they mean by a mainframe, it occurred to me that the programming language might be IBM RPG (Report Program Generator.)
I remember once being asked during an interview if I could program in RPG. Apparently, the job was at a coal mine in West Virginia. This would have been in the early 1980s, if memory serves.
I lived in a run down town for a little under 2 years when I was trying to start my career and the county needed a programmer to help maintain some RPG applications. I briefly considered picking up the language, as I doubted anyone else would ever apply, but ultimately never did.
I have never worked with cobol. The coolest thing about mainframes I heard was that you could pull out a broken cpu (without stopping it) and plug in a new one. No idea if it’s true. There are projects like:
That eats COBOL and spits out C. I am surprised no one has written a eat cobol and spit out python/Java. I know it’s a weird-ish language that is meant to read like text. I guess it must be hard. Getting away from legacy code is no fun.
came to post this. blah blah blah turn off js with plugin or it worked w/ js disabled etc misses the point of how aggressive this paywal from a noname site is, lol