Make sure you have solid metrics on your side to record problems with that microservice, document any delays caused my missing features, and eventually even non-technical management should get your point and start to apply pressure.
Usually management doesn't want to participate in these discussions, because they are more careful about retention (and stepping on toes). 1 engineer quitting is a 10% reduction in their workforce.
That's how you end up with endless process, design by committee, and having a dozen meetings with all "stakeholders" before actually writing any code.
I'd much rather work at a place where individuals or small groups have a strong vision on the code and product and are capable on executing independently on that. It sounds like the OP would too. But I understand it's a personal preference.
I guess that’s why large enterprises hate it, since they’re all about reducing risk.
If they get middling software every time then that’s preferable to the two extremes.
Isn't that dependent on whether you are the person guiding the code though?
Indeed. No company size is perfect. There are dysfunctions typical for small companies. There are dysfunctions typical for large ones.
But people have preferences; some things they can handle, other things drive them crazy. What drives you crazy may be different from what drives your friends crazy.
Perhaps everyone should try to work once in a large corporation, and once in a startup, to figure out their own preferences.
Or to be kinder. If you are filling your own hole (identified need) you can be more free in your approach. After all only you decide if it's right, finished, a failure or success.
What I vastly prefer is the 500-ish size. You can realistically at least know of every other developer (and find those you prefer working with and can learn with), there's more resources than just a 30 person company, and you're just not a tiny insignificant cog in the machine at a 100k mega corp.
We must have worked at very different places.
Everyone wants the problem solved, but how the problem is solved leads to frustration.
I think part of the problem that triggers this is in small companies, one engineer codes, a significant portion of the code base and has a strict vision in their mind about how that code should be structured. When new employees come in to bring new ideas, they become personally offended that their baby is no longer their baby. At large companies no one feels like they own 100% of the code, and each change is very collaborative.