Contents

Programming Fundamentals

Collections

Arrays, maps, sets and the everyday operations on them.

Backend Engineer track

Junior

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

Core: start here

13 more junior concepts
  • ArrayAn ordered, indexed collection of elements.
  • DestructuringUnpacking values from arrays or objects into variables.
  • Dictionary / MapA collection of key-value pairs with fast lookup by key.
  • Equality vs IdentitySame value vs same object in memory.
  • IndexingAccessing elements by position, usually starting at zero.
  • ListAn ordered collection; a dynamic array or a linked list depending on the language.
  • Map, Filter, ReduceThe three core operations for transforming collections.
  • SetAn unordered collection of unique values.
  • Shallow vs Deep CopyCopying only the top level vs copying everything nested inside.
  • SlicingTaking a sub-range of a sequence.
  • Sorting with a Key or ComparatorSorting by a custom key or comparison function.
  • Spread / Rest SyntaxExpanding or collecting elements with ... (or * and ** in Python).
  • TupleA fixed-size, ordered group of values, often of different types.

Mid-level

Own a feature end to end without hand-holding.

  • GeneratorA function that lazily yields a sequence of values.
  • IteratorAn object that yields items one at a time from a sequence.
  • Lazy EvaluationComputing values only when they're actually needed.

Senior

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

Nothing here yet.

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.

  • GeneratorA function that lazily yields a sequence of values.
  • IteratorAn object that yields items one at a time from a sequence.
  • Lazy EvaluationComputing values only when they're actually needed.

Senior

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

Nothing here yet.

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.

Core: start here

11 more junior concepts
  • ArrayAn ordered, indexed collection of elements.
  • Dictionary / MapA collection of key-value pairs with fast lookup by key.
  • Equality vs IdentitySame value vs same object in memory.
  • IndexingAccessing elements by position, usually starting at zero.
  • ListAn ordered collection; a dynamic array or a linked list depending on the language.
  • Map, Filter, ReduceThe three core operations for transforming collections.
  • Pass by Value vs ReferenceWhether a function receives a copy or a reference to the caller's data.
  • SetAn unordered collection of unique values.
  • SlicingTaking a sub-range of a sequence.
  • Sorting with a Key or ComparatorSorting by a custom key or comparison function.
  • TupleA fixed-size, ordered group of values, often of different types.

Mid-level

Own a feature end to end without hand-holding.

  • GeneratorA function that lazily yields a sequence of values.
  • IteratorAn object that yields items one at a time from a sequence.
  • Lazy EvaluationComputing values only when they're actually needed.

Senior

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

Nothing here yet.

Staff

Shape how many teams build, across apps.

Nothing here yet.

Principal

Set technical direction for the organization.

Nothing here yet.