System Design Cheatsheet Picking the right architecture = Picking the right battles + Managing trade-offs Basic Steps 1) Clarify and agree on the scope of the system Use cases Who is going to use it? How are they going to use it?