Not mocking cobol devs but yall are severely underpaid for keeping fintech alive

Potatos_are_not_friends@lemmy.world to Programmer Humor@programming.dev – 787 points –
142

Yo if you are doing COBOL systems maintenance for 90k you arent charging enough.

That's all this meme means. Consultants on COBOL maintenance can make 90k in a week. This is not the area where companies pinch pennies.

A lot of banks have bootcamps where they pick up unemployed people who might not have ever had tech experience in their life. They teach them COBOL and mainframe basics in a few months, and, if they do well, give them a shitty $60k annual job.

Source: know someone who went to one of these bootcamps and now works for a major us bank.

So you're saying you can get free training then just leave for a real paying company eh

I imagine they have some absurd contract that says they can't leave for 89 years or whatever

And I'd like to see that contract hold up in court lol

And people wonder why companies dont train undergrads anymore

Oh, no, educated workers who don't want to be taken advantage of and know their worth, maybe companies should value their employees if you want company loyalty.

Oh no, job providers who don't want to be taken advantage of and know their worth, maybe people should value their job providers if you want their loyalty.

::: spoiler spoiler My time on Lemmy (and Reddit before) ironically make me appreciate communism less and less :::

Lmao alright bud go fire all your employees and see how you do. Then you will understand who needs to be loyal to who.

I code one feature for my job in a sprint and it becomes a value generator for a decade, making the companies hundreds of thousands of dollars each year.

Software developers create value out of thin air for companies, value that management and leadership is unable to generate.

1 more...
1 more...
1 more...
1 more...

There are some court cases going on right now about this type of thing. Generally, the payback is only allowed to be for the real cost of training, and only for a few years. So that 60k salary for 3 years is also the right amount to make you worth 150k anywhere else.

1 more...
1 more...

This has been going on for decades. My dad became a COBOL programmer in 1980ish after taking an aptitude test in answer to a newspaper ad. Y2K consulting was a pretty good gig.

1 more...

My experience with Fintech and the financial sector is that they don't care about how much, they only care about how fast.

They just have understanding of correct criteria of financial success, since they, eh, work with finances.

1 more...

Something that maybe a software engineer union could solve.

Something that a union would definitely solve. What are the banks gonna do? Fire every veteran and hire a team of underpaid newbs to manage their critical systems? If they were dumb enough to do that, let them save themselves millions a year by facing billions in losses... I'm sure that'll work out well.

Banks: Hold my beer!

And later blame it on the workers that unionized.

It only needs to work long enough for the current management to cash in on their savings. Then it's their successors problem.

If only there was one, I wish I had one just so I wouldn't have to do all the fucking social hoops just to get my resume noticed by an actual human before the HR's "I don't want to do my job!" machines filter me out for not going to an Ivy League School like apparently everyone else did.

The thing is, this type of job never needed a union previously. It was niche enough for a long time, that you were sought out and rewarded well. But yes, I think we're moving into an era where we do need union representation.

Oddly enough, with my experience I am sought out still. Just for bizarre startups who clearly never checked my previous work history. Some of the messages I get on Linkedin for example are just weird requests.

Nah, they’re going to “solve” it by paying web developers less, not paying cobol developers more

Yes, workers unions are famous for fighting to lower the wages of the workers they represent. Very much. Indeed.

I think the problem is that unions are famous for fighting for equal pay across the board for the workers they represent regardless of individual competency or market demand. For this example they'll give COBOL developers a raise to 120K and give web developers a pay cut to 120K.

Or best case scenario they give the COBOL developers a short-term raise to 150, then raises across the industry stagnate in coming years to offset the fact that employers feel like they're overpaying for some people. But sure, a few years later the union can come in to look like a hero arguing for a fraction of the raise the web devs could have already gotten.

Cobol devs that we had (while we spent insane money to retire their systems) we're getting 300-500k/year.

I'm sure companies are trying to rip off any young new entrants but 90k seems super low.

Yep I know a COBOL programmer and she drives a nice-ass Mercedes SUV and owns 2 houses. Making way more than I do.

Right, you can make that kind of money when you have 40 years of Cobol behind you. But even for new entrants, $90k seems low. There had better be a premium for dealing with old bullshit, especially when you're probably damaging your resume in the long run.

90k sounds pretty standard for inexperienced (although maybe not first job) devs in general for most markets. Throw in factors like experience or skills in low supply and that changes pretty fast.

I know that COBOL isn't going away anytime soon, but most companies have seen the writing on the wall for a long time. Anywhere that COBOL can be replaced with something more modern, it's already underway. Some places even have a surplus of COBOL devs because of it. But there are countless places where it can't be replaced, at least not reasonably.

The only way a COBOL dev is making $90k after 5 years is if there are very specific fringe benefits that make them not want to move along, or they are extremely naive about the market.

Anywhere that COBOL can be replaced with something more modern, it's already underw

Rewrites are extremely risky though, and some companies don't want to risk it. That COBOL code probably has 40 years worth of bug fixes and patches for every possible edge/corner case. A rewrite essentially restarts everything from scratch.

Do you know of a decent sized company that successfully migrated away from COBOL? I'd be interested in reading a whitepaper about how they did it, if such a thing exists.

That's because the COBOL OGs are retired/ing and the industry has been training young people telling them "yeah, sorry, this is all we can pay you". Here in Europe, they'll take unemployed people from a different industry, put them on a training course, and bang! you've got a grateful new dev who doesn't know how much they are worth.
You just gotta keep spreading the message. I keep happily sharing my salary, especially with younger, less experienced devs, so we can all win better.

programmers desperately need to unionize

For real. Even just talking to your fellow coding monkeys helps. It's ironic that for example here in France, despite all our workers rights and revolutionary tradition, speaking about your salary is still a social faux-pas. And who benefits? Certainly not us.

I'd understanding actively pressuring someone to share their salary being a faux-pas. Admittedly, just sharing your own may make some people feel pressured to share theirs out of reciprocity, but just sharing your own salary generates nowhere near the same amount of pressure as outright telling someone "share your salary or you're a bad person on the side of The Man!"

I hope the amount of people sharing their salary increases and talking about it becomes normalized.

A surprising number of people don't know about levels.fyi

Go to levels.fyi, find some companies and compare at your level. For a long time I was like "ain't no way these numbers are accurate, people are getting paid that much?" YES THE NUMBERS ARE ACCURATE; your company's excuses for a shitty raise this year ("blah blah market conditions, blah blah you are already on the upper end of your band, let's work on a promotion next year") are bullshit.

I wish they would include the "non-professional" professions. I bet I could have gotten a better pay as a chef if I had any idea what other chefs made at the time.

Does Glass Door have non-office jobs listed? I haven't looked on there in quite a while but it was the same idea in a more general sense.

Sadly this doesn't include my profession (Industrial Automation). Do you know of other alternatives?

You could try Glassdoor, but my understanding is that it's not as accurate as levels.

Man I'd swim to Europe if some company wants to swoop me up and train me for something that valuable lol here in the States I have to not only pay for the training out the nose, but also find the time to do that while still working my regular job lol

Well, you could do like many US people and visit Ireland, I suppose :)

I once applied for a "database admin" job at one of the big credit card companies. The job description was basically "run all our Oracle databases" and the salary was in the mid 2 millions USD, but I assumed that figure was typo'ed or something ( an extra 0 maybe?)

In the interview I learned that there was no typo and it was to be one of the seven people on the planet that run the databases for this credit card processor. They said "if the database goes down then we are losing billions of dollars a minute".

Anyways I didn't get the job, but they're not all underpaid.

Fuck that job I would probably get stomach cancer from all the stress

It really wouldn't be all that bad. If they're dropping $2m/y on a database admin, then their BCDR plan must be rock solid with crazy fault tolerances. I'd imagine outages are extremely rare.

But, if they're dropping that kind of money, you'd have to be an expert in the field. Or know someone.

$2m is enough to pay for chemotherapy

Flipping burgers is enough to pay for chemotherapy. Src: am european

Given how much the shareholders are skimming off the top, $2Mil for a critical database engineer is cheap.

If you labor there's only two ways you get paid your full worth: you own the means of your production or your boss is a chump. However much the job pays, you are going to have a larger impact than your salary (hopefully).

Not how that format works, mate.

7 more...

There is no relationship between what you earn and your skill level. If there were, theoretical physics would be a top paying field. The reason is, this is capitalism and we are horrible negotiators. If you want to earn top money in a technical field, the best you can do is insert yourself in a revenue stream. Roles that are critical to revenue like a billing system or associated with a intrinsically valuable commodity e.g. petrochemical, are more lucrative than other similarly skilled professions.

It feels like blaming everything on capitalism is a Lemmy meme.

EDIT: smh look at all the capitalists smashing the downvote button as if it were a poor.

They're not really blaming capitalism for anything though? They're just explaining how it works, and they're right. In a market driven economy, you are paid for having a skill or some knowledge based on the demand of that skill or knowledge and nothing else. In the same way as the quality of your house has little bearing on it's value when compared to it's location. Not a criticism of capitalism.

SIGH. Capitalism is a fringe conspiracy theory. Next you'll be claiming that billionaires earn their money through "capital gains" instead of salary, or that every corporation answers to a shadowy cabal of "shareholders" who only care about profit.

Well you won't fool me. Unlike you, I have educated myself by reading newspapers.

Who would've thought a sector with gold flowing through its hands would be so stingy when it comes to updating their backend that they'd end up relying on a dying language, and call upon AI to update it for them rather than just paying a competent team to create and rigorously test a new backend in a modern language

One problem is that they need to put a price tag and therefore a timeline on such a project. Due to the complexity and the many unknown unknowns in theses decades worth of accumulated technical debts, no one can properly estimate that. And so these projects never get off and typically die during planning/evaluation when both numbers (cost and time) climb higher and higher the longer people think about it.

IMO a solution would be to do it iteratively with a small team and just finish whenever. Upside: you have people who know the system inside-out at hand all the time should something come up. Downside of course is that you have effectively no meaningful reporting on when this thing is finished.

Honestly not the right format for that meme template lol. The monkey should represent one person doing both looks.

I think some COBOL consultants are very well paid, especially since they are a rare breed.

Friend has a cobol + IBM AIX combo going for him and his on call + at most 1 day/week of work position pays more than my full time very senior dev role.

Hmm I have the AIX half of that. Maybe learning COBOL is worth the pain..

I know a person who does AIX consulting with Cobol. She works about 4-8 weeks a year spread between 3 companies and makes enough to raise a family and fund a massive hobby farm. Helps to be in an area with a large fintech presence I imagine.

Very nice, yeah that's the problem. I broke into AIX in the wholesale industry in early 2000's so I have very few finance connections, which is where it all seems to be.

I have also been work from home for 7 years now and figured I'd have to go onsite for banks. That may have changed post covid. I will poke around and see what might be out there for me

Idk what the AIX job market is right now, but several years ago banks in central Europe poached employees back and forth just to reach minimum staff required.

The OGs are. The new trainees ain't.
Which makes sense, but they are still being seriously taken advantage of.

what i’m gathering from this thread is that i should learn cobol

From when this has come up in the past, it's a lucrative career path, but probably tricky to break in to since nobody's maintaining a COBOL system they can afford to put into the hands of someone inexperienced.

The dudes earning half a million are able to do so because they've been at it since before their boss was born.

Yeah, and from what I understand, learning the language itself isn't the hard part. It actually has rather few concepts. What's difficult, is learning how to program a computer correctly without all the abstractions and safety measures that modern languages provide.

Even structured programming had to be added to COBOL in a later revision. That's if/else, loops and similar.

It seems that back in the day, people effectively ran a simple compiler by hand on paper. It could work pretty well; Roller Coaster Tycoon was famously written in assembly.

Well, I only wrote simple exercises in Intel assembly in uni, but there were more of those with AVR assembly.

You can structure things nicely and understandably if you want.

It's an acquired skill just like many others. Just today writing something big fully in assembly is not in demand, so that skill can usually be encountered among embedded engineers or something like that.

Is there a tutorial you could recommend? I'm actually pretty curious how exactly you would go about that now.

Sorry, I don't remember what I used then as a tutorial, possibly nothing, and I don't write assembly often, it was just an opinion based on the experience from the beginning of my comment. That said:

You have call and return, so you can use procedures with return. You have compare and conditional jump instructions. And you have timers and interrupts for scheduling. That allows for basic structure.

You split your program functionally into many files (say, one per procedure) and include those. That allows for basic complexity management.

To use OS syscalls you need to look for the relevant OS ABI reference, but it's not hard.

So all the usual. Similar to the dumber way of using C.

In general writing (EDIT: whole programs, it's used all the time in codecs and other DSP, at the very least) in assembly languages is unpopular not because it's hard, but because it's very slow.

Once you get into it you'll wonder how you ever programmed without "divisions"! I mean honestly, just declaring variables anywhere? Who needs that. Give me a nice, defined data division any day 😌

In Canada, the Ministry of Health pays colleges to teach kids COBOL and JCL. It's a steady job, pension, good bennies. I know a handful of people who went that route, rather than the riskier private sector.

Would you happen to know how that compares to saying "Fuck it" and going with a Java career for the relative predictability? I'm not asking for any particular reasons, just curious.

I know some Java folks, but my sampling is biased because I meet them where I work - places that predominantly use the younger languages. Actually, I happen to know that the MoH in particular (and probably lots of other institutions) wrap their COBOL/JCL in a lot of Java, so that most devs never need to dive into the "real backend" if they want to just stay at the Java level.

Java people seem like family people. But from what I've observed, their job doesn't seem any different. You can work in javascript, or python, and still insist on clocking out at 16, 1700. But I only work at startups or seat of your pants kinds of places, so I know about what I hear. 🤷

I had a friend at university who got a job fixing cobol stuff before Y2K. The bank paid him extremely well, housed him in a luxury apartment during the job, and, as he had no driving licence, dropped in a car with free driver for him.

I'd be happy if I could land a web dev role for 40k at this point

That's crazy. If you have the skills don't under value yourself. Don't be afraid to walk away from an offer. Never tell a potential employer your current salary and never give them a number if they ask in interviews. Ask what their range is as a response and if that matches your number, proceed. Then negotiate for the max of their range. If you get to that point, they already want you, so you have the upper hand in negotiation.

I think the mention of fintech in the text makes an implication of online store of some sort, where I could see it being profitable because it's a lot more work to be able to generate listings and accept payment and shipping information.

It means banking. Finance tech.

That was never in question. Online payment portals are Fintech. You don't have to work at IBM to be in Fintech, it includes the entire process built on top of their platform as well.

But COBOL is famously used in legacy banking systems, not modern internet payment systems.

I'm saying that the mention of Fintech in the First Case would IMPLY that the WebDev also deals with Fintech. If both devs have comparable skillsets then it makes sense to compare their pay rates.

IDK, maybe I'm reaching with this one.

Where do you learn this... Cobol?

at university in the 1980s

Wait, so there's nowhere you can learn it now?

Doubtful, I was just joking about how it's an older language that has become rare

Probably a few CS programs offer courses in it, if nothing else because it's historically important. And I'm sure one could teach it to themself via books and documentation

At what point does the cost of tech migration outweigh the cost of training people on a more and more specialist paid language just to not have to migrate to a memory safe higher level language like C or Go or Rust or Lua.

Didn't say python because oh sweet Jesus the slowdown alone would grind the global economy to a halt if we were running all our banking software on Python XD

Didn’t say python because oh sweet Jesus the slowdown alone would grind the global economy to a halt if we were running all our banking software on Python XD

ah so we just need to persuade banks to switch to python. Noted

I swear to god, companies are nowadays just picking the solution with the most buzzwords. Any compiler engineering student knows how to write a transpiler from one language to another, while getting this right is a cumbersome task, it still completly automated afterwards. Just hire a few compiler engineering phds and the job is done in at least half a year.

Look what i found after a quick google search:

You want to translate COBOL to another language? That exists as a commercial product! The complexity is not the syntax though, it is the environment and subsystems surrounding the code. A lot of COBOL is designed for mainframe systems, and emulating a mainframe is complex.

You also end up with code that is still written as if it were COBOL. The syntax for COBOL is the easy part and that is all you can easily replace. Afterwards you're still stuck with the way of working and mindset, both of which are quite peculiar.

The company I work for recently looked at all of this, and we decided not to translate our code.

Also, isn't COBOL extremely fast ? Which is not necessarily true for newer languages

I think that's mostly because of the systems COBOL usually runs on, not so much because of the language

You're probably thinking of Fortran, which is still used for hardcore number crunching in areas like physics.

Just make the devs learn the language if they don’t know it already. What kind of shitty mid to senior dev can’t learn a new language in a reasonable amount of time.

I think it's a matter of expertise. I am stuck dealing with people who write Javascript/Typescript like it's C# because they're C# senior devs. It's not world-ending until issues of speed, scale, or other "why we use best practices" raise their ugly heads. Then it is world-ending. I can only help with so many design standards when you still see everything show up in a classes-and-subclasses mindset with hard-to-catch concurrency bugs. I actually caught a developer trying to spin up a child process to wait on a socket response.

So in FinTech, I can imagine it becomes a bigger deal faster.

I thought everyone kind of knew this. And then the PCMag article dropped.

The more important a job is, the less paid the work is. Conversely, the more bullshit the job is, the more pay there is.

In my experiemce, Java shoots processing usage up while COBOL uses much lesser CPU / memory