SC 014 — The Good, The Bad, and The Ugly: dbt Updates
Summary
Analyzes dbt Labs’ pricing and technical changes through a three-lens framework. The Bad: second price increase in under a year (per-seat doubled from $50 to $100, now adding usage-based pricing at $0.01 per successful model beyond 15K). The Good: teams can control costs via Slim CI workflows and smart scheduling — only run tables on schedule, refresh views only when queries change. The Ugly: dbt’s stateless, idempotent design works for beginners but reveals limitations at scale; state management via manifest comparison is powerful but complex.
Key Arguments
- Pricing changes are manageable, not catastrophic — existing customers get a year to adapt
- Cost control is a technical skill:
dbt run -s state:modified config.materialized:table config.materialized:incremental - Slim CI + “defer to self” in production prevents unnecessary view rebuilds
- State management is the frontier — understanding manifests,
--stateflag, anddbt cloneseparates junior from senior practitioners - Despite frustrations, value delivered exceeds costs
Writing Style Notes
The Good/Bad/Ugly framework is Western-movie fun but the analysis is measured. Not reactionary about pricing — acknowledges frustration then offers practical solutions. The closing sentiment (value > cost) shows loyalty without sycophancy.
Connections
- 01-projects/newsletter/index — part of the Sanity Check body of work