Published on

A culture of writing

When building a system, a team makes certain assumptions and decisions that are known only to them. The “knowledge” of these systems lives in the developers’ heads. This knowledge can be things like the assumptions that were made for the system, the architecture, and its limitations.

When the team is small and tight knit, the knowledge in every developer’s head is dense. The amount of knowledge that exists for a small organisation can also be small. For a small team, when an engineer leaves the organisation, another engineer has the knowledge overlap. Since the system is also probably small, it affects the organisation less

As the organisation size grows, one system is managed by multiple teams. Each engineer has sparse information about a piece of the system and only a high level understanding of the entire system. But when the team size is larger and each engineer is working on a very nuanced piece of the system, the knowledge of that piece becomes critical. When this particular engineer leaves, they take with them the knowledge about all the edge cases that they dealt with while building that piece of the system. The longer the tenure of the engineer, the more knowledge the organisation loses