You're Not Crazy — ETL Wastes Time on Unnecessary Work
You know the pain.
- You change a line of ETL code.
- You fix a tiny bug.
- You correct a small upstream input.
And what happens next?
- Hours of waiting.
- Compute bills piling up.
- Pipelines churning through data that didn’t change.
- Rebuilding tables that are already correct.
It feels wasteful because it is wasteful.
You’re not crazy.
ETL wastes time on unnecessary work because storage forgot what changed.
How We Got Here
Modern ETL is shaped by scar tissue.
By Jenny Kwan
read moredbt Is Actually Imperative — And That's a Problem
dbt claims to be a declarative data transformation framework.
This is false.
A dbt project is executed by running dbt run
. At runtime, dbt run
takes a set of selectors, compiles your models, and executes a DAG of side-effecting SQL and Python tasks.
This has major negative consequences.
If you care about correctness, velocity, reproducibility, performance, data lineage, or actually managing data-as-code, then a system based on imperative mutations will fail you.
By Jenny Kwan
read more