4 ms·
I've never run a large company, or been high enough in management to try this, but I still think there is a better way: In code we work in layers of abstractio
by jdbernard 9y ago
I've never run a large company, or been high enough in management to try this, but I still think there is a better way:
In code we work in layers of abstraction. Large projects can be healthy when every layer is small enough to fit in your head.
In the same way, I think we could build a large company in layers of teams. Each layer should be manageable in the way discussed above.
Good modularity in code allows us to keep the whole problem in our head. Good team structure (requires good management) allows us to keep the management decisions at the tribe/human level that we are good at and not need the kind of mass, impersonal systems that lead to burdensome bureaucracy.
Of course, this kind of leadership and culture has to come from the top. It also requires that leadership explicitly avoid micromanagement, breaking the team boundaries. And requires continued commitment to treating your employees at every level like adults.
Of course, people are not code, but I think this organisational system of managing complexity can be applied to both.
It would be interesting to do some case studies, but I believe there are several large companies that have done this successfully, until top leadership changes (founder dies, etc.) and the new leader doesn't have the same trust of and commitment to employee/team autonomy. The dynamic changes, people notice and either leave or start gaming the system, etc.