Field note · August 10, 2025
Course note — Schema drift, and the contract that prevents it
Your pipeline will break because someone upstream renamed a column on a Thursday and told nobody. Here is how to make that a caught error instead of a silent one.
Revised Schema drift, and the contract that prevents it this week. The change was small and the reason was not.
Your pipeline will break because someone upstream renamed a column on a Thursday and told nobody. Here is how to make that a caught error instead of a silent one.
The first draft explained the mechanism and stopped. What was missing was the failure: the thing that happens when you get it wrong, described concretely enough that someone recognises it later. A lesson that only teaches the correct version leaves you unable to spot the incorrect one, which is the situation you will actually be in.
It sits in the Getting the data in module, and the exercise runs against dirty-customers. That pairing is deliberate: the dataset was built with the trap the lesson describes already in it, so the exercise fails in the instructive way rather than the confusing one.
Ordering matters here more than in most courses. It follows Idempotency, backfills, and yesterday arriving twice and leads into Facts, dimensions, and picking a grain, and reading it out of sequence mostly works but costs you the setup.
Free means free, and it also means we can rewrite it whenever it is wrong. No edition, no errata PDF, nothing to repurchase. The whole course is 36 lessons and the fixes land the day we find them.