Chapter 37. An Overlooked Engineering Skill
Murali Suriar
Let me tell you about the time I was on call for 100 different services.
How did this happen? My team was responsible for connecting to various network services run by other companies. The services ran on top of the same physical infrastructure but were otherwise extremely diverse. Routing protocols, application protocols, firewall rules—everything was different.
One day I might handle a request for new access to an existing service, the next, debug an application by going through several firewalls and NAT (network address translation) devices on a service commissioned the previous month by a contractor who had moved on to another job. In an ideal world, the person with the most context would be on call when that service breaks. The world is not ideal.
Failing that, what did we do? Diagrams. If you ask someone to draw a diagram representing a system, you get insight into how they think about that system.
Ask two people on your team to draw an overview diagram of a system your team owns and then compare the two diagrams. The similarities and differences in the diagrams will likely reveal something about the mental models that each team member is using when interacting with the system. Diagrams are a communication tool, but more than that, they are a tool for recording and sharing mental models. Their greatest power ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access