Contents

Backend Development

Caching

Keeping copies of data closer and faster, and keeping them correct.

Backend Engineer track

Junior

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

Core: start here

  • CachingKeeping copies of data somewhere faster to avoid repeated work.
3 more junior concepts

Mid-level

Own a feature end to end without hand-holding.

Core: start here

  • Cache InvalidationRemoving stale data from a cache; famously one of the hard problems.
  • Cache-AsideThe app checks the cache, then the database, then fills the cache.
  • HTTP CachingCache-Control, ETag and Last-Modified for reusing responses.
7 more mid-level concepts

Senior

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

Core: start here

8 more senior concepts

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.

  • Cache InvalidationRemoving stale data from a cache; famously one of the hard problems.
  • Cache Key DesignChoosing keys so different data never collides.
  • Cache-AsideThe app checks the cache, then the database, then fills the cache.
  • CDN CachingCaching content on edge servers near users.
  • ETagA version identifier used for conditional requests and caching.
  • Eviction PolicyLRU, LFU or FIFO: which item to drop when the cache is full.
  • HTTP CachingCache-Control, ETag and Last-Modified for reusing responses.
  • In-Process vs Distributed CacheA cache in your app's memory vs a shared one like Redis.
  • LRU CacheA cache evicting the least recently used item, built from a hash map and a linked list.
  • Request-Scoped CachingCaching within a single request to avoid repeated lookups.

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.

  • Cache Hit and MissWhether the requested data was found in the cache.
  • CachingKeeping copies of data somewhere faster to avoid repeated work.
  • CDNA network of edge servers serving content close to users.
  • TTL (Time to Live)How long a cached item stays valid.

Mid-level

Own a feature end to end without hand-holding.

Core: start here

  • HTTP CachingCache-Control, ETag and Last-Modified for reusing responses.
5 more mid-level concepts
  • Cache InvalidationRemoving stale data from a cache; famously one of the hard problems.
  • Cache Key DesignChoosing keys so different data never collides.
  • CDN CachingCaching content on edge servers near users.
  • ETagA version identifier used for conditional requests and caching.
  • LRU CacheA cache evicting the least recently used item, built from a hash map and a linked list.

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.