That’s why monoliths are so great during the early stages of a product. They are tightly coupled, but their complexity and level of abstraction are low. When an engineer makes a change that breaks another part of the system, she knows it immediately and has access to the code to fix the problem she caused.