Sometimes shifting complexity around really helps though - splitting it up into manageable chunks means you don't have to keep all of a complex system in your head at once (of course packages/libraries are another angle to approach this from, rather than separate services).
Sometimes wonder if we're not just shifting complexity around rather than dealing with it when choosing strategies like micro-services vs monolith.
Sometimes shifting complexity around really helps though - splitting it up into manageable chunks means you don't have to keep all of a complex system in your head at once (of course packages/libraries are another angle to approach this from, rather than separate services).