Contents

Programming Fundamentals

Type Systems

How languages classify values and catch mistakes before they run.

Backend Engineer track

Junior

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

Mid-level

Own a feature end to end without hand-holding.

  • Discriminated UnionA union whose members are told apart by a tag field.
  • Duck TypingIf it has the right methods, it's the right type.
  • Finite State MachineA model with a fixed set of states and allowed transitions, e.g. an order going from paid to shipped.
  • GenericsCode that works over many types while keeping type safety.
  • Runtime ValidationChecking that untrusted data matches a type at runtime, e.g. with Zod or Pydantic.
  • Type InferenceThe compiler working out types without annotations.
  • Type NarrowingRefining a broad type to a specific one through checks.
  • Union TypeA value that can be one of several types.

Senior

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

Staff

Shape how many teams build, across systems.

Nothing here yet.

Principal

Set technical direction for the organization.

Nothing here yet.

Data Engineer track

Junior

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

Mid-level

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

  • Discriminated UnionA union whose members are told apart by a tag field.
  • Duck TypingIf it has the right methods, it's the right type.
  • Finite State MachineA model with a fixed set of states and allowed transitions, e.g. an order going from paid to shipped.
  • GenericsCode that works over many types while keeping type safety.
  • Runtime ValidationChecking that untrusted data matches a type at runtime, e.g. with Zod or Pydantic.
  • Type InferenceThe compiler working out types without annotations.
  • Type NarrowingRefining a broad type to a specific one through checks.
  • Union TypeA value that can be one of several types.

Senior

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

Staff

Shape how the whole organization produces and uses data.

Nothing here yet.

Principal

Set data strategy and architecture across the company.

Nothing here yet.

Frontend Engineer track

Junior

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

Mid-level

Own a feature end to end without hand-holding.

Core: start here

  • Discriminated UnionA union whose members are told apart by a tag field.
  • GenericsCode that works over many types while keeping type safety.
  • Runtime ValidationChecking that untrusted data matches a type at runtime, e.g. with Zod or Pydantic.
  • Type NarrowingRefining a broad type to a specific one through checks.
  • Utility TypesBuilt-in TypeScript type transformers like Partial, Pick and Record.
6 more mid-level concepts

Senior

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

Staff

Shape how many teams build, across apps.

Nothing here yet.

Principal

Set technical direction for the organization.

Nothing here yet.