Monolithic design is fine for simple systems, but as complexity and scale increase, so do the associated costs.
I’m currently using DDD, micro services, and public cloud because complex system are better served.
"ivory tower" to me means academic, theoretical, "interesting", "pure", vs on the other end of pragmatic, practical, get-it-done, whatever-works, maybe messy. (either end of the spectrum has plusses and minuses).
"DDD, event storming, event driven architectures" don't sound... not "ivory tower" to me. :) Then again, I am a U.S. developer!
It might very well be _useful_, it may be something many more people oughta be doing if only they knew how valuable it was. Could be! But it certainly does not seem basic or simple to me. It seems, well, "ivory tower". And something with a learning curve. Not "basic" at all. (And certainly neither do microservices).
Do y'all in Europe learn "domain-driven design, event storming, serverless, and event driven architectures" in school or something? (I don't even totally know what all those things mean, enough to explain it to someone else).
Some SMB's don't know anything, but the developers take "pride" in their work i think.
Ugly source-codes are everywhere though.
Product-oriented vs process-oriented maybe.
When I look up "ivory tower" on google, google's supplied dictionary definition is "a state of privileged seclusion or separation from the facts and practicalities of the real world." I don't think that's how you're using it though? Which confused me. But ok!
Most systems are "simple". Or mostly simple.
What's the saying? It should be as simpler as possible (but no simpler).