Skip to content
About
Main content
Special Shapes & Boundaries

Interfaces & Formats

What can two parties agree on when they cannot talk to each other?

Who this mechanism is for: a developer who writes code, reads and writes files, calls APIs and knows basic SQL, but has never studied why file formats, wire protocols and data-integration tools look the way they do. You do not need any database or systems background. Every technical term is explained the first time it appears, and again in the glossary at the end. Where an idea from storage, queues or networks is needed, it is explained again in a few sentences on the spot.

The story we will follow

Priya is a data engineer at Harborline, a freight-forwarding company. Harborline books cargo on trucks and ships that belong to other companies (the carriers). Carriers send Harborline shipment files every night. Harborline loads them into its own analytics tables, offers a partner API, and pushes customer data into a sales tool. Priya's colleague Tomas runs the integrations with partners. Harborline controls its own code, but it does not control the carriers, the sales tool, or the customers' spreadsheets.

During one busy quarter, Priya will meet five problems, one at the start of each article below. Each problem looks like a bug in Harborline's code. Each one is actually a consequence of one fact: the two sides of an interface cannot be changed at the same moment, and they cannot always ask each other questions. At the end of each article we go back and solve the problem.

This is the main idea of this whole mechanism:

How this mechanism is organized

After that: a summary, hands-on labs, interview questions and a glossary.

One request: do not skip the small examples with bytes, rows and dates. Most interface defects are small things (an string, a time zone, a page boundary). Seeing them once makes them easy to recognize later.

What do I do, and what does each option cost?

Can I see it myself?

Can I reason about it under questioning?

Trade-offs

The tensions this mechanism takes a position on. Each recurs across mechanisms.

Recurring principles

Ideas this mechanism meets that keep coming back, mechanism after mechanism.