For some purpose, the DOGE people are burrowing their way into all US Federal Systems. Their complete control over the Treasury Department is entirely insane.
Unless you intend to destroy everything, making arbitrary changes to complex computer systems will result in destruction, even if that was not your intention. No matter how smart you might be, experience and knowledge matter. The treasury systems are a combination of Cobol, Python, and a lot of random technologies. I know modernization plans were being worked on, but I have no idea how far they've gone.
Junior engineers are, by experience, usually mentored or at least managed by more experienced programmers. They are never put in charge of a system that annually sends out six trillion dollars. The US Treasury processes less dollar volume than VISA, but VISA is not the source of the money; it is only the processor. Changing the Treasury code has always been tightly managed since errors could have major consequences. Any complex computer system that involves money or life is usually heavily managed to ensure nothing terrible can happen. This code is not some simple CRUD app where bad changes are only minimally annoying.
Allowing unqualified people to make changes directly to production code without any process or testing (which seems to be the case, although getting details is difficult due to secrecy) is ridiculous. Even if it were me with my decades of experience, I wouldn't touch that code without months of comprehension and follow whatever processes are required. The cost of failure is too enormous. Imagine sixty-eight million people not getting their Social Security checks (beginning next Wednesday). Imagine not paying the interest on the national debt; this would crater the US Dollar. You don't mess around with numbers like this. Even minor changes made without understanding could destroy the country.
The biggest revenue figure I was ever tasked with building and managing was a $100M-a-year system (only the iOS part; Android was another $50M, and many services were behind us). The US Treasury system is 60,000 times larger! My team never had trouble keeping our code working fine until the pandemic stopped everything. However, the Treasury is also way bigger than a single client; I am sure there are myriads of interacting systems to maintain.
Being smart is only part of being a programmer. Experience (knowing how to make changes, why to make changes, when to make changes, and, more importantly, when not to make changes) and knowledge (understanding the code, the architecture, the business rules, security requirements, interoperability with other systems, and more) are even more critical. Expecting people barely out of college to change delicate systems without any of this guarantees disaster.
Of course, disaster might be the requirement, the desired outcome. Breaking things is much easier than changing them or fixing them. I am sure that even with limited understanding, you can break almost anything. I fear this is the end goal: break every system until everything is gone. Why is unfathomable?
I don't buy for a second the stated goal to make the government more "efficient." To do that requires experience and knowledge, not just a large hammer. Complex systems are difficult to improve, especially while you are still using them. I've seen in my career people try to improve systems way smaller than the Treasury with large teams and accomplish little. Working at the travel company in the early 10s, they spent months studying why our hotel search was so pathetically slow (average 10 seconds), and all they did was cut down the number of hotels returned (then 9 seconds). Efficiency is hard, especially with legacy code and where the end state is undefined. This goal is just meaningless.
I have no idea how this plays out at this point. These few young people who were tasked with this don't realize that when you mess with people's money, they get really angry. They now have a target on their backs.
Sometimes, programmers like to complain about bureaucracy, but as systems become more complex and failure becomes more damaging, processes must be established to ensure control. I fear that even if these programmers cannot do whatever they are tasked with, the result could be disastrous by accident simply because they don't know what they are doing.
We will probably see what happens; I doubt it will take long.
Author Of article : Andrew Wulf Read full article