An application is never a single version. It is an old version and a new version running side by side for the twenty minutes of a deploy, and, if the data is durable, a new version reading bytes that a version from three years ago wrote and nobody remembers.
That makes schema change the quiet reason deploys go wrong. This module is about encoding — how a structure in memory becomes bytes on a wire or a disk — and the compatibility rules that follow from it. It is the shortest module and it is the one whose lessons you will apply the soonest, because everyone changes a field name in their first month.
The lab at the end has you write a binary encoder with field tags, then break compatibility on purpose, so you can watch the exact failure mode you are being warned about.