A field guide for working engineers

Understand the choices.
Know when they change.

Engineering keeps moving. Understanding how the systems underneath it work makes it easier to decide what to use—and which new developments deserve your attention.

Start with a field guide to get your bearings, follow an explanation to learn how something works, or read an assessment of a change that could affect your choices.

What you can read now

Two collections are complete. One covers an engineering field in depth. The other teaches a practice you can use in any field: drawing a system so that other people can check it. Browse all articles →

An engineering field

Databases and storage

Keeping an order correct, searching a catalogue and analysing billions of events ask different things of storage. Get to know the main approaches, where they fit, and the design decisions behind them.

Read the field guide

Further reading

  • Relational databasesTables, queries and reliable changes, with a collection of deeper articles.
  • Object storageObjects, application workflows and operating Amazon S3, with guided sandbox lessons.
  • Column storesAn illustrated explanation, with experiments you can try.

A practice for every field

Drawing systems and processes

A line between two boxes can mean an API call, a handoff between people or a change of state. Learn which view answers the question you are asking, how to draw it with colleagues at a whiteboard, and how to keep a diagram trustworthy after the meeting ends.

Start the collection

Places to begin

Learn by trying

Our playgrounds let you change an example and inspect the result. Run PostgreSQL in the SQL sandbox, or follow requests and recovery in the object-storage sandbox. Guided lessons give each experiment a starting point and a question to explore.

Other fields we plan to cover

These fields will follow. There are no articles to read in them yet.

  • APIs and service communication

    REST, GraphQL and RPC; designing contracts and keeping services compatible as they change.

  • Messaging and event-driven systems

    Queues and streams; moving work between services, handling duplicates and replaying events.

  • Observability

    Logs, metrics, traces and profiles; understanding what a system is doing and why.

  • AI application engineering

    Retrieval, tools and evaluation; building useful applications around models and understanding their failures.