As a senior software engineer, the most tiresome type of software dev to deal with is not the junior developer, it's the highly opinionated intermediate-level dev. They say things like "we'll obviously build the system using modern microservices architecture using node.js" before they even know the requirements.
+1 on this, folks with just enough experience to have strong, yet naive, opinions is the bane of my existence. It is almost akin to a religious discussion, whereas folks will back up their suppositions with blind faith and defend those views to the death. Sorry if this is not adding a lot to the conversation, you just really struck a nerve!
Reminds me of the time at a previous job where a poorly supervised engineer developed a complex application using LabVIEW (an utterly inappropriate use of the technology) and then took a new job with National Instruments, leaving a shop full of C and Ada programmers to maintain it.
If they wrote that using a bunch of LabVIEW microservices you could replace the services one-by-one with C/Ada until the whole thing was no longer LabVIEW.
This is generally what I think the best part about microservices are; an easy way to improve upon the MVP in any dimension. Re-writing a whole monolith can take forever and probably will introduce a ton of bugs. But incrementally re-writing microservices won't stop feature development and is easy to A/B test for correctness.