I'm both bothered and intrigued by the industry returning to, what I call, "pile-of-if-statements architecture". It's really easy to think it's simple, and it's really easy to think you understand, and it's really easy to close your assigned Jira tickets; so I understand why people like it.
People get assigned a task, they look around and find a few places they think are related, then add some if-statements to the pile. Then they test; if the tests fail they add a few more if-statements. Eventually they send it to QA; if QA finds a problem, another quick if-statement will solve the problem. It's released to production, and it works for a high enough percentage of cases that the failure cases don't come to your attention. There's approximately 0% chance the code is actually correct. You just add if-statements until you asymptotically approach correctness. If you accidentally leak the personal data of millions of people, you wont be held responsible, and the cognitive load is always low.
But the thing is... I'm not sure there's a better alternative.
You can create a fancy abstraction and use a fancy architecture, but I'm not sure this actually increases the odds of the code being correct.
Especially in corporate environments--you cannot build a beautiful abstraction in most corporate environments because the owners of the business logic do not treat the business logic with enough care.
"A single order ships to a single address, keep it simple, build it, oh actually, a salesman promised a big customer, so now we need to make it so a single order can ship to multiple addresses"--you've heard something like this before, haven't you?
You can't build careful bug-free abstractions in corporate environments.
So, is pile-of-if-statements the best we can do for business software?
Why Russia yes but, say, not Israel? What's happening in Gaza is a stain on humanity. And why not Palestine too and those who armed and sustained Hamas too (thus Iran and the current Israeli government pre October 7).
And since we're at Iran, Palestine, Israel, Russia, etc, etc why not..
The Basic Laws, which sort of comprise the makeshift constitution of Israel, don't seem to make any religious references, but rather refer to the founding UN principles like human rights.
Even civil courts are allowed to refer to holy texts if the law is not clear.
however..
when he started spamming political misinformation on twitter i had to block him. very concerned he was burnt out and brainwashed into into politics. the nazi salute, then making nazi jokes about it, was just insane.
doge is a joke, he lost the plot.
now i barely check updates on whats happening at starbase, cheer on when the rockets explode, couldn't care less about tesla.. it's a real shame. all that great work by thousands of talented people in his companies..
he needs to resign from everything and go hide under a rock for a few years until he finally gets into orbit and burns up on rentry.
Funny, because I did some freelancing work fixing disposable vibe-coded landing pages recently. And if there's one thing we can count on is that the biggest control-freaks will always have that one extra stupid requirement that completely befuddles the AI and pushes it into making an even bigger mess, and then I'll have to come fix it.
It doesn't matter how smart the AI becomes, the problems we face with software are rarely technical. The problem is always the people creating accidental complexity and pushing it to the next person as if it was "essential".
The biggest asset of a developer is saying "no" to people. Perhaps AIs will learn that, but with competing AIs I'm pretty sure we'll always get one or the other to say yes, just like we have with people.
"control-freak" not necessary. For any known sequence/set of feature requirements it is possible to choose an optimal abstraction.
It's also possible to order the requirements in such a way, that introduction of next requirement will entirely invalidate an abstraction, chosen for the previously introduced requirements.
Most of the humans have trouble recovering from such a case. Those who do succeed are called senior software engineers.