Writing
Notes from inside other people’s estates
20 pieces on the problems this product exists to solve — what a warehouse bill really measures, why the same pipeline fails every night, how to find dead objects without breaking a report, and where the line sits between metadata an agent may read and data it may not.
What it costs
Warehouse spend, and the four ways it leaks.
What a warehouse bill actually measures
2 minAn invoice tells you what you spent, never what you bought. The gap between the two is where most of the savings are.
The four shapes of warehouse waste
2 minAlmost every dollar wasted in a warehouse falls into one of four patterns. Each has a different fix and a different risk of breaking something.
Credits, DBUs, and comparing the incomparable
1 minTwo warehouses, two billing models, two definitions of a unit of work. Comparing them honestly is harder than any vendor's calculator suggests.
The dashboard nobody opened, and the pipeline behind it
1 minUnused reports are not a reporting problem. They are the visible end of a chain of models, tests and jobs that still run every night.
When it breaks
Failures, tests, and proving a fix.
Stop alerting. Start fingerprinting
1 minThe same breakage every night should be one thing with a count, not thirty notifications. Grouping by the shape of an error changes what a team can see.
Proving a fix before proposing it
2 minA patch that compiles is not a fix. The evidence that a change is correct is more valuable than the change, and harder to produce.
The test that was loosened to make a release
1 minEvery mature estate contains assertions that were weakened under deadline and never restored. Finding them is straightforward; the hard part is the conversation.
Schema drift is always noticed too late
1 minUpstream changes rarely break anything immediately. They break something three weeks later, in a report, in front of somebody senior.
The estate
Lineage, dead objects and knowing what you have.
Finding dead tables without guessing
1 min"Nothing reads this" is a claim about every consumer you have, including the ones you forgot. Here is what it takes to make it safely.
Column-level lineage, and what it is actually for
1 minTable-level lineage answers "what breaks". Column-level answers "what changes", which is a different and usually more urgent question.
The catalogue nobody browses
1 minData catalogues fail for the same reason wikis do. The fix is to stop treating the catalogue as a destination.
Why a monorepo breaks most dbt tooling
1 minA surprising amount of tooling assumes the project sits at the root of the repository. Real repositories rarely oblige.
AI in a data estate
What an agent may touch, and what it must hand back.
Metadata only: what an agent should never read
1 minAn agent that can answer questions about your data does not need to see your data. Drawing that line early decides what you can safely automate.
An agent should open a pull request, not merge one
1 minThe constraint sounds like caution. It is actually what makes the rest of the automation acceptable.
The approval queue is a trust instrument
1 minTreated as a formality it becomes a rubber stamp. Treated as a measurement it tells you exactly how much autonomy to grant.
When the right answer is "I cannot tell"
1 minThe hardest behaviour to build into an automated analyst is the refusal to produce a number it cannot support.
Running a data team
Small teams, big estates, and what to measure.
"The number changed" is the hardest ticket
1 minNo error, no failure, no alert. Just a figure that is different from last week and somebody who needs to know why by lunchtime.
Measuring the value of a data change
1 minData teams are asked to justify themselves in numbers they do not have. A few are genuinely measurable; most of what gets reported is not.
Two people and four thousand objects
1 minSmall data teams inherit estates sized for the organisation, not for the team. The failure modes are identical to a large estate; the slack is not.
Governance without a governance programme
1 minMost of what a governance initiative is meant to produce can be derived rather than documented — and derived facts do not go stale.