TweakCode
Design Method lessons

Course 06 · Orientation

Design Method

Requirements, numbers, interfaces

The loop used in design reviews and interviews: agree on the job, estimate the few numbers that change the shape, then write the API and the data before drawing boxes.

Start with Requirements

The course journey

Build one family of skills at a time

Each technique is three short lessons, and each one builds on the lesson before it. A lesson walks through one problem step by step, then hands it to you along with a few more to solve on your own.

  1. 01Start here

    Requirements

    Functional verbs, qualities with numbers, and an explicit out-of-scope list.

    1. Stage 1Functional & Non-Functional RequirementsTurn user verbs and measurable qualities into a list the design must satisfy1 Lesson · 1 Drill
    2. Stage 2Clarifying Questions That Change the DesignAsk first the questions whose answers add or remove a component1 Lesson · 1 Drill
    3. Stage 3Scoping with Explicit Non-GoalsName what the first version will not build, with a reason for each1 Lesson · 1 Drill
  2. 02Pro

    Estimation

    The few numbers that decide cache, shard, or queue.

    1. Stage 1

      Back-of-the-Envelope Rates & Storage

    2. Stage 2

      Peak & Outlier Estimation

    3. Stage 3

      Bandwidth-Driven Estimation

    Preview
  3. 03Pro

    Interfaces

    The API and the rows, before the network diagram.

    1. Stage 1

      API Contracts & Data Models

    2. Stage 2

      Internal Interfaces & Shared State

    3. Stage 3

      Read/Write Path Split & Cursor Pagination

    Preview