Systems Design

This is a compilation of my systems design knowledge, what I think one must know to grasp the system designs. I started reading books on systems design on 23rd of september, 2026. The reason behind this new journey is: artificial intelligence started becoming so good at generating code that future computer engineers soon would take the role of architectures instead of coders completely. To remain competent for that role, one must understand the nuts-and-bolts of systems design.

You might be curious about which books I read! I started with Head First Design Patterns, because I heard it was easy to grasp as a beginner in systems design.

Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. —Head First Design Patterns

Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all of its dependents are notified and updated automatically. —Head First Design Patterns

The Decorator Pattern attaches additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality. —Head First Design Patterns