Software design from the inside out

From one function to a whole system: clean code, SOLID, design patterns in Python, the building blocks of system design, then designing a multi-service ticketing system whose code AI writes: what people decide, what AI needs to read, with experiments and real measurements.

  1. SOLID in Python: five principles, each with a real trap

    The five SOLID principles aren't laws; they're ways to keep one change from bringing down the whole system. Each comes with a runnable example: a square that breaks a rectangle, dict.get skipping __getitem__, and tests with fakes almost 2,000 times faster than a database.

  2. The building blocks of system design: estimates, caches, databases, queues

    System design starts with numbers, not diagrams. A table of measured latencies, quick estimates, Little's law, why a server at 90% load is 5 times slower than at 50%, caching under a Zipf distribution, an index 4,700 times faster, replication, sharding, and handling failure.