Contents

Computer Science

Math for Programmers

The math that actually shows up in day-to-day engineering.

Backend Engineer

Junior

Write correct code, ship small changes safely, ask good questions.

Mid-level

Own a feature end to end without hand-holding.

Senior

Own a system, its failure modes, and its trade-offs.

  • Amdahl's LawThe speedup from parallelism is limited by the part that stays sequential.
  • Linear Algebra BasicsVectors and matrices, the foundation of graphics and ML.
  • Little's LawItems in a system = arrival rate × time each spends in it.

Data Analyst

Junior

Write correct SQL, build trusted dashboards, ask good questions.

Core: start here

2 more junior concepts

Mid-level

Own an analysis end to end, from vague question to recommendation.

Senior

Own experimentation and metrics design; call out bad numbers.

Data Engineer

Junior

Build and fix pipelines from clear specs; write correct SQL.

Core: start here

6 more junior concepts

Mid-level

Own pipelines and models end to end, including their quality.

  • Discrete MathLogic, sets, graphs and combinatorics: the math of computing.
  • Set TheoryUnions, intersections and differences; the basis of SQL.
  • CombinatoricsCounting arrangements and combinations, e.g. how many IDs a format allows.
  • Probability BasicsReasoning about chance, for sampling, A/B tests and failure rates.

Senior

Design the platform's storage, processing and modeling choices.

  • Amdahl's LawThe speedup from parallelism is limited by the part that stays sequential.
  • Linear Algebra BasicsVectors and matrices, the foundation of graphics and ML.
  • Little's LawItems in a system = arrival rate × time each spends in it.

Frontend Engineer

Junior

Build UI that works, ship small changes safely, ask good questions.

Mid-level

Own a feature end to end without hand-holding.

Senior

Own an app's architecture, performance, and failure modes.