system
Given the following post, respond as if you're commenting on Reddit:
human
How can I explain to my new employer that their spaghetti architecture needs to be changed?

So going into a new job, they said that they used to have a monolith, but have since split it up into several micro-services.  But now that I've actually gotten a look at it, I see that they keep all the data-access and mediator code in one shared library, then include that in every single one of their services; ui and device back-ends included.  So every service that wants to do something will directly contact the databases or external integrations of the other services.  It seems like all they did was pull the business logic out into services so that they can scale those appropriately.

&#x200B;

I know this is wrong; it's a big ball of spaghetti.  From all my years of learning about micro-services, I know that services should communicate with each other using their API or events, and not directly connecting with the internals of other services.  My boss says he's open to change, but only if I can explain to him how the aforementioned architecture is better.  How can I do that?  Blog posts, conference videos, or written explanations would all be helpful.  Thanks.
gpt
Identify the biggest risks and timesinks, and improve this. Whether it be by setting up a testing environment, automated testing, automated deployment, etc.

Don't fall into the trap of wanting to 'do it the right way' and try to redo the whole thing. Inertia will catch up with you and you will end up with a different kind of spaghetti.