Back in the day programmers used to talk endlessly about how awesome banking programmers were. "They handle TRILLIONS of transaction in COBOL!" Then the web came along and their websites were atrocious so we figured out, nah, they suck. Even today, we can clearly see it.
For example, today I had to send someone money. My bank decided that the phone number and email I'd been using for close to a decade wasn't correct, so it made me enter it again, only it just made me select it again, then it complained that I couldn't send the money anyway? WAT?
I had to go into my recurring payments and find the entire series that I use to reliably pay my bills, remove the series, and then update the target person's email and phone too. Then I could go back and send the money, oh except I couldn't.
The other person gets a text message that they have to register with Zelle, something we've *never* used in the past. Everything was working just fine and now we're forced to switch to this. I have to then walk them through doing the exact same update, only problem is...
They have an old email on file so they had to use their phone number, but that conflicted with the existing phone number that's in the bank's so we had to delete the previous account and then add it back with Zelle, oh and approve it and agree to all kinds of Zelle things.
Finally, after mulitple text messages and approving phone numbers that were already approved the money is received and then...sits in Zelle...pending. I don't have the money, they don't have the money, Zelle has the money, what? Can you imagine if Twitter or Facebook did this?
"I'm going to send a message to my friend on Twitter. Oh boy it says it was sent, but now it's stuck in limbo and they don't receive it for 24 hours."

No way, people would revolt and laugh in your face if you did that. Banking coders though?
"Well darn. We have to take Zed's money and transmit it through an IBM S/390 running a CICS translation to COBOL emulation of a 3270 terminal and print it out and then in 24 hours we can give that to Zelle."

Why do they do this? Because they believe mainframes are "safe".
Despite 50 or 60 TRILLION transactions/day of money on just a few modern platforms using plain old SQL stupid banking programmers think money has to go through a slow ass COBOL system or it's not "safe". No explanation of what safe is or how no modern company needs this.
They're proud of their CICS/COBOL code too. I had them walk in with a 10" thick stack of fan-fold green lined printout paper (you remember that) proclaiming how hardcore they were because they wrote CICS code that generated *that much* COBOL. I asked what it did...one screen.
That's right, these master geniuses of the programming world with their hardcore hacker CICS code had to use an 10" thick stack of COBOL to make one screen work, meanwhile I could code the same screen in raw C and curses in an afternoon and it'd be 200 lines tops.
They're also insanely proud of how much money they waste. That 10" stack of CICS/COBOL required like 30 programmers working for weeks at something like $500/hour. The scale of the waste is astronomical, and then the end result is just absolute garbage.
So, you want to know why my bank is making me enter all this crap in again?

I'll bet you that they can't actually get my data out of their little Horror House of COBOL and into Zelle, so instead of doing that they just make me enter it again and feed it directly to Zelle.
This is why I think any future bailouts of the Financial sector should be done the way we bailed out US cars in the 70s. In the 70s we had an oil crises because US car manufacturers made junk cars that got 3 miles to the gallon of gas, and OPEC could free market gouge us.
US auto manufacturers didn't want to modernize, so the government tied forced upgrading to receiving the tariffs and bailouts they desperately needed. We demanded cars be fuel efficient in exchange for trade concessions to save them, so why not do that with banks?
Since so many banking failures and collapses can be tied to mountains of terrible COBOL let's treat COBOL Mainframes like Gas Guzzling Mustangs. If you want a bailout then you've got 10 years to remove all COBOL from your systems and modernize mainframes or stop using them.
Now, you don't even need to abolish COBOL. You could make the equivalent of "cars need to be at 20 miles/per gallon by 1980" simply "All transactions are visible to the user in under 1 second by 2030." But I personally think they'll *still* find a way to keep COBOL then.

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Zed A. Shaw, Writer

Zed A. Shaw, Writer Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @lzsthw

20 Feb
When you complain about an open source project's management you'll get the reply, "Use something else if you don't like it!" That'd be true except for the tiny problem that *many* projects also strive for complete monopolistic dominance.

Let me tell you about Java in early 2k:
I was programming in Java since it's release, and all through the late 90s into the early 2000s. At first Java was very determined to unseat C++ and it used various propaganda tactics to turn C++ and malloc into a weird enemy for all of us to hate. This worked great!
Everything was fine though because there were plenty of jobs in tech because of the dot-com boom, and then suddenly there were not jobs because of the dot-com bomb.

Overnight it seemed as if the *only* way to get a job was at giant companies, and they *loved* Enterprise Java.
Read 19 tweets
18 Feb
I totally forgot to warn people to not quit their job before joining my course, but I also think I *really* need to make this some kind of digital signature requirement. You agree to not quit your job and submit a photo with the date and your name on a piece of paper for proof. Image
I'm mostly joking, but the last time I ran a little experimental class I had so many people quit their perfectly good jobs to study and then flame out because they...couldn't buy food. I was horrified and I never told them to do that. Hell no, keep your job people!
I gathered that the only reason "quit your job to become a programmer" was even a fantasy is because programmers are oddly not very honest about how miserable programming is most of the time. It's a labor of love, and has big rewards for the pain, but it is painful.
Read 5 tweets
18 Feb
I've been bit a few times by what's described in this article:

engineering.tapad.com/munchausen-syn…

If you give your resume to a recruiter they will spam it to every company possible in an attempt to be the "first" to get you so they get commission. When 2 do it there's a conflict.
The gist is recruiters get paid a finder's fee. Companies then use multiple recruiters and sometimes you'll get 2 recruiting companies submitting your resume without you knowing. The hiring company then disqualifies you rather than deal with the legal hassle of who to pay.
Now, you might be thinking, how is it that two or more recruiting companies are getting your resume? Does that mean you're a dirty cheater who's double dealing?

No. People have a right to find work through multiple avenues, but also *many* recruiting companies scrape resumes.
Read 7 tweets
11 Feb
Every time I read something by a cryptographer claiming to know when people are qualified to attempt cryptography software I go and see if they said *anything* about OpenSSL during the 20+ years it was obviously flawed:

soatok.blog/2021/02/09/cra…

Nope. Not a word.
In general nearly everyone who is currently working in cryptography accepted OpenSSL as correctly implemented for decades even though a basic analysis of the C code showed obvious flaws. They not only accepted OpenSSL but repeatedly yelled at people who didn't use it.
If you wanted to study crypto and implemented existing proven algorithms out came the Cryptography Experts yelling at you to "just use OpenSSL". It was *the* only implementation allowed. Then this happened:

heartbleed.com

Whoops! I guess everyone was wrong!
Read 6 tweets
9 Jan
I've got an alternative history of Amazon's switch to Linux and creation of AWS that I heard from an open source project they coopted and practically destroyed. Keep in mind this story is 2nd hand and the open source developers were BITTER, but Amazon is famous for this:
I joined this other project that was started by a guy who sold cluster servers to big secret government agencies, and he was working with an open source team that had a project similar to Beowulf en.wikipedia.org/wiki/Beowulf_c… but would be closer to Chef or Puppet.
This project was small, maybe 4 developers, and what they wrote did very nice automated provisioning of machines, which you could then use in a cluster. When I started working with them though they were JEEERRRRKS. Wow, they were absolute turds.
Read 11 tweets
24 Dec 20
Another element of my "why browsers must die" linked list is how some parts of it assume everything is a flexible rectangular viewport with fixed dimensions, and other parts assume it's an infinite plane with no fixed dimensions.

For example, scroll into view:
If a browser is an infinite plane that you view through a viewport (like a video game), then there *must* be a way to cause interactions when some element of the infinite plane comes into view. Yet, finding an event for this very necessary thing is impossible.
Here's a hilarious stackoverflow:

stackoverflow.com/questions/4870…

It was asked *11 years ago*, but was active *11 days ago*. It's been viewed 727k times, and has as many possible answers as there are people posting over various years.
Read 11 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!