Published: 2026-03-04 02:04
On a software team, there's this dream that engineers can know everything about the entire system. It's fundamentally untrue.
Everyone should be able to know something about the system. They should be able to articulate at a high level what the system does and all the pieces and parts.
But we have teams because one person can be the expert on a very specific part of the system. They can do the work quickly, iterate, and go deep on those areas. Another person can do the same for another area.
Having everybody spend time thinking about and being deep on every single part of the system is a fundamental waste of time given how much needs to be known. If this were the case, the entire engineering team would just spend their time learning about the system instead of actually shipping production products, shipping bug fixes, and the like.
We need to focus on having a broad understanding of everything and then going really deep on a specific thing that we either enjoy or find most valuable for our working environment or career paths.
That's it.