Learning about common system design patterns
As a TPM, you split your time between the high-level scope, which spans across multiple systems, and the weeds of a specific feature design. It’s due to this breadth and depth that system design is one of the most important technical skills a TPM can have. It’s important enough that it shows up in most interviews for the bigger tech companies. I’ll cover the aspects of system design that you need to consider to ensure that your design is well thought out.
When we think about system design, we often conjure up a diagram of multiple services, each covering a single function or area of concern. However, system designs come in many different sizes and complexities. On a smaller scale, a feature design, such as a feature to add a new contact to your contact list in the Mercury messenger app, is its own system design. Somewhere in between these is a system design for an entire desktop or mobile application.
As a TPM...