* https://www.theguardian.com/money/2015/aug/28/many-hsbc-cust... (I believe this one was caused by firing greybeards who understood a certain very complicated batch processing system and offshoring to undertrained staff in India who then make a mistake and basically brough the entire system down as a knock-on effect)
* https://www.theguardian.com/business/2019/nov/19/tsb-it-melt... (Insufficiently tested software upgrade although to be fair this was a major upgrade)
* https://scottishfinancialnews.com/article/rbs-it-failure-pre... (Not sure on root cause. Other interesting stats at the bottom of the article regarding failure counts)
Now, in all these cases I believe the outages lasted a few days at least where people had limited or no access to bank accounts, salaries not paid on time, incorrectly charged overdraft fees, automated payments not happening etc.
It can probably be argued what is "core" here and as far as I know no money actually disappeared into the ether but, in the UK at least, I am not sure I would be so confident in my declaration of Rock Solid software.
If the software isn't extendable or changeable then it isn't 'working fine', because if you can't offer internet banking or do FATCA reporting you go out of business or get shut down.
I did code-level support for a large internal data management system for the federal reserve bank in the mid aughts. I'm not really interested in disclosing the specific bland but critically important data we moved/managed. It involved a giant amalgam of legacy commercial AIX and HP-UX software with some newer Java stuff in a Websphere environment. It was all duct-tape-and-bubble-gummed together with huge ksh88 scripts that were in constant development by devs and support people like me who'd just ssh into production systems to make changes. None of the internal software had dev/test systems, there was definitely no code review, and there was no version control. Yep. The system on a whole required constant monitoring and intervention to keep it plodding along. We did periodically see data loss that was unrecoverable from a technological standpoint but recovered with physical media kept around from their necessarily belt-and-suspenders business practices and tons of available staff for data entry. I reckon tens-of-thousands of folks outside the bank would have been affected per incident.
But compared to, say, tens of thousands of investment transactions for pension and retirement funds evaporating, disbursements to a hospital's operations budget being delayed, sending confidential historical balance records in bulk to a large corporate customer's competitor, having an online investment system down during a period of extreme market volatility, or even large-scale customer data breaches, then yes. 'Money missing from a bank account' is in every significant way a comparatively minor problem probably fixable with a phone call and a couple hours of investigation on the bank's part, even with a significant sum of money. The bank would almost certainly catch it themselves during an automated audit. It's exactly the sort of problem that bookkeeping organizations are designed to mitigate and root out if they do happen.
The others could affect many, many more people's lives for much longer— potentially permanently.
- took a trip to the neighboring country, my friend tried to take out money from an ATM; first two transactions failed, third succeeded (at the atm). In the bank though, all "succeeded", and money were gone (first 2 eventually were reversed with manual intervention).
- I sold a house (in a remote mountain village), buyer sent 8100EUR from Germany, 78xy.z EUR made it to my personal bank account. Apparently due to multiple currency exchanges, but this is a SEPA transfer between two accounts both denominated in EUR, this was absolutely not supposed to happen and nobody was able to articulate exactly "why it happened" (or even exactly what happened). For this one the buyer decided to just eat the loss and sent me an additional 300EUR.
Operationally, Facebook is a vastly harder problem.
There’s huge demand for developers on modern systems. Seriously, how much are you going to pay a developer to do mainframe COBOL - and is that developer going to produce commensurate value, really able to hold together a crumbling antique infrastructure?
I didn’t intend to imply that the problem could be solved by an army of people fresh out of boot camps with no senior level supervision.
I'm also realizing now that just because you "would consider it extremely daunting" does not necessarily mean that you don't think you could be a net positive contributor.
Suppose you accept 1.5x or 2x or even 3x your annual salary to take a COBOL job. Nice... for now.
What happens in 2, 5, or 10 years when this COBOL gig ends?
Now your skills have withered or disappeared and you're 2, 5, or 10 years behind when it comes to "modern" technologies where 99.9% of the job opportunities are.
In a sense, that COBOL job is a gamble. You are gambling that you can ride that sucker until retirement.
Of course there are other possibilities. You could sock most of that extra $$$ away and spend a year retraining yourself, or something, if/when that COBOL job ends. Or whatever.
What happens in 1 or 2 years when the current hottest new full-stack, mvc, reactive 3.0 whatever is old and tired and you have to learn the new thing? You learn the new thing.
I meant, "when this COBOL gig ends", not "when this COBOL ends" which is what I initially typed.
I agree that COBOL will outlive a lot of these modern flash-in-the-pan frameworks.
However, the number of COBOL jobs will dwindle over time, and if I took a theoretical COBOL job today it's not clear to me that I would be particularly employable if/when that job ended. Particularly if I am unable/unwilling to relocate as I suspect COBOL jobs may be much less likely to be remote.
Whereas, in comparison, if one stays current in Ruby/Python/JS/.NET/Java then one's prospects would remain strong for the forseeable future. "Staying current" on the tech treadmill is of course its own special hell, but it is probably the safer road.
What happens in 1 or 2 years when the current
hottest new full-stack, mvc, reactive 3.0 whatever
is old and tired and you have to learn the new
thing? You learn the new thing.
OK, but how employable are you at that point?It's going to take some significant effort to catch back up.
Perhaps more crucially, your resume is not going to be appealing to potential employers. If they're looking for hotshots in the latest framework, do you think they're going to look kindly upon a candidate who's spent the last X years working with COBOL?
There are ways to address that, such as getting up to speed in Trendy Framework XYZ and making some portfolio pieces, open source contributions, etc. But, that's not always a smooth road.
>It's going to take some significant effort to catch back up.
You got 2x (or whatever) the salary until then. That should give you plenty of time to catch up. Currently anybody is employed anyways if one knows how to use a keyboard. I don't think that is ending anytime soon.
You got 2x (or whatever) the salary until then.
That should give you plenty of time to catch up.
You can catch up, but your resume can't.Let's say you take a cushy COBOL job for X years and then spend Y years on your own "catching up."
At that point you're pretty proficient in whatever the trendy thing is at that time.
But what do recruiters see? They see, "this person hasn't worked with anything modern in X+Y years, and hasn't even had a job in Y years"
It can be overcome, but... not ideal.
Currently anybody is employed anyways if one knows
how to use a keyboard. I don't think that is ending
anytime soon.
It might still be that way in X+Y years. It might not.Are you talking about the hardware or software? It's worth considering that Lindy's Law [1] might apply here.