There’s an unwritten law in software, more reliable than any design pattern and more universal than any team’s conventions: your codebase will end up a mess. Not because your colleagues are bad at their jobs. Not because you made the wrong calls along the way.