Social Security systems contain tens of millions of lines of code written in COBOL, an archaic programming language. Safely rewriting that code would take years—DOGE wants it done in months.
This is like a new programmer coming in to their new job, seeing the code isn’t perfect and saying they could rebuild the entire thing and do it better in a month.
Queensland is a state of about 3m people in Australia. Their health service employs about 100k people. They ended up spending about 900m USD to develop their payroll software and fix the fuck ups it caused.
I’m an accountant by trade, there’s a classic “techbro does accounting” style of development we see a lot. Like if you hadn’t spent a career learning how complex accounting can be, it would be easy to look at a payroll system and conclude “it’s just a database with some rules”.
I’ve always known your world is complex, working closely with accountants and actuaries the last 4 years doing data applications further confirmed that, there’s some legitimately complex math that shows up, and it’s a lot of work to model that correctly.
“It’s just a …” Is a redflag to me, project’s going to be a gongshow.
I find that mentality of not trying to understand the problem and its context totally counter to the engineering method.
Yeah, as you’ve said it’s not the complexity that’s the problem, it’s that dunning Kruger style overconfidence that you’re smarter than everyone else and can manage data better than these silly accountants.
Yeah, the “It’s just a…” guy collapses into a fetal-position sobbing heap when you start looking at exception flows, rollbacks, compensating transations, and all the tweaks and tweezes that every workable real accounting system (or any other complex workflow) has.
I did such a thing, but I had a big advantage: the codebase had been done by people who had never really learned to code, and I was a seasoned programmer with 20 years of experience.
That happens. Even if said new programmer had seen before that IRL the important part of that codebase consists of specific domain area quirks, scarcely documented and understood. They have an advantage in doing something good for the specific stage of that system’s evolution, but a huge disadvantage in knowing what the hell it really does.
This is like a new programmer coming in to their new job, seeing the code isn’t perfect and saying they could rebuild the entire thing and do it better in a month.
It’s not a case of “seeing the code isn’t perfect” but rather, not understanding the myriad problems the code is solving or mitigating.
I’m reminded of this shitshow:
https://en.m.wikipedia.org/wiki/2010_Queensland_Health_payroll_system_implementation
Queensland is a state of about 3m people in Australia. Their health service employs about 100k people. They ended up spending about 900m USD to develop their payroll software and fix the fuck ups it caused.
I’m an accountant by trade, there’s a classic “techbro does accounting” style of development we see a lot. Like if you hadn’t spent a career learning how complex accounting can be, it would be easy to look at a payroll system and conclude “it’s just a database with some rules”.
Oh hey, we had one of those disasters in Canada! https://en.wikipedia.org/wiki/Phoenix_pay_system
Made by IBM. We chose one of the worst company to do it.
Hah. It was IBM that was running the shitshow in Queensland too.
I’ve always known your world is complex, working closely with accountants and actuaries the last 4 years doing data applications further confirmed that, there’s some legitimately complex math that shows up, and it’s a lot of work to model that correctly.
“It’s just a …” Is a redflag to me, project’s going to be a gongshow.
I find that mentality of not trying to understand the problem and its context totally counter to the engineering method.
Yeah, as you’ve said it’s not the complexity that’s the problem, it’s that dunning Kruger style overconfidence that you’re smarter than everyone else and can manage data better than these silly accountants.
Yeah, the “It’s just a…” guy collapses into a fetal-position sobbing heap when you start looking at exception flows, rollbacks, compensating transations, and all the tweaks and tweezes that every workable real accounting system (or any other complex workflow) has.
Yea, that’s a mich better way of putting it.
I’m sure the doge boys are expert grock vibe coders, it will be fine, they’ve got big ballz on the team, what could possibly go wrong? /s
I did such a thing, but I had a big advantage: the codebase had been done by people who had never really learned to code, and I was a seasoned programmer with 20 years of experience.
Yeah, I’ve cleaned up the messes that idiots like that have left.
That happens. Even if said new programmer had seen before that IRL the important part of that codebase consists of specific domain area quirks, scarcely documented and understood. They have an advantage in doing something good for the specific stage of that system’s evolution, but a huge disadvantage in knowing what the hell it really does.
Yeah, this is going to end in disaster.