When does a call at 3am involve an architectural decision or change? It should never come that far.
This worked seamlessly until one day, at 3am PST, a flood of requests came in and the index file grew to ~4mb, and everything ground to a halt.
The legend of the architecture was a senior engineer did this on a weekend, then a month later left the company.
It isn't about making an architectural design decision / change at 3am, but someone has to live with the consequences of such a design decision and fix something in some way or another at 3am in the morning.
I.e. you could go with a clustered db setup which is supposedly HA, or a classical single instance DB...
The point here is, whoever has to get up at 3am to fix a potential catastrophic failure in the setup should have a say in it.
Personally, I think the designers/architects should work on the code too. You have to dogfood your own design, so to speak.
Come to think of it, the AI peeps might be able to make a few. They stay stuff like, does a submarine swim? Pretty close.
Yes, I'm being a bit glib, but over-engineering does not always mean there's some good intentions in there. It can just be really bad.
neomodel is a fantastic python ORM for a neo4j: https://neomodel.readthedocs.io/en/latest/
Just putting it out there, but I think Knuth’s aphorism is being used and abused to the point that some folk believe system qualities are second to functional requirements when it’s not the case.