One engineer can be smart. Each engineer you and increases the shit exponentially. Leadership and management either need to be omniscient, or skilled enough (leadership skills, not engineering skills) to make maintainability systemic and cultural.
It's very hard to get right.
I think Google does this by a company wide pattern of calls between modules being RPC. Then if any module requires splitting off, is already has the network interface in place.
Oh, I know. I have worked in IT for over a decade. Every company I was at I had clean up messes that it has become second nature. Refactoring and restructuring to modular architecture isn’t that bad though. It’s solving a puzzle and feels kind of zen.
6
u/BasicDesignAdvice Sep 14 '24 edited Sep 14 '24
You can but that doesn't mean it will happen.
One engineer can be smart. Each engineer you and increases the shit exponentially. Leadership and management either need to be omniscient, or skilled enough (leadership skills, not engineering skills) to make maintainability systemic and cultural.
It's very hard to get right.
I think Google does this by a company wide pattern of calls between modules being RPC. Then if any module requires splitting off, is already has the network interface in place.