In microservices the mess is often at the higher architecture level. IMO, startups should not do microservices, not until they can point at one fragment of their product and go "This is 99% isolated from the rest of the application yet costs 90% of performance, extracting this and rewriting this in a more specialized fashion will benefit us"
Totally agree. Microservices is an optimization, not an architechure that you start off with. They can absolutely kill your ability to iterate if your boundaries suddenly change, which happens all the time if your startup is pivoting