Scale often brings fragmentation. Teams move to micro-services and micro-frontends, thinking it will solve velocity. But often, the cost is shared knowledge and atomic changes.
// Example of shared types in a monorepo
import { User } from '@shared/types';
const syncUser = (user: User) => {
// In a monorepo, updating 'User' ripples through everything
return db.users.update(user);
};
The ability to refactor across boundaries in a single commit is a superpower that is often undervalued until it's gone.