CI/CD Pipelines for Data Engineers
Data pipelines are production software. Here's how to build CI/CD that catches bad transforms before they corrupt dashboards: testing strategy, environment promotion, slim runs, and rollback patterns.
Field-tested patterns, honest postmortems, and short tactical fixes on Claude, MCP, system design, Dynamics 365, and the modern web. Written for engineers who ship.
Categories
Guides and insights for Dynamics 365 Finance & Operations, Sales, Customer Service, and Copilot.
Tutorials and tips for Power Automate, PowerApps, and the broader Power Platform ecosystem.
System design, modern web development with Next.js, React, .NET, Azure, and practical coding guides.
DevOps practices, PowerShell tips, and stories from the trenches of enterprise tech.
Deep dives into designing scalable, reliable systems — URL shorteners, chat apps, rate limiters, caching, and more.
Practical guides on Claude, the Model Context Protocol (MCP), agent architectures, prompt caching, and tool use in production.
Recent writing
Data pipelines are production software. Here's how to build CI/CD that catches bad transforms before they corrupt dashboards: testing strategy, environment promotion, slim runs, and rollback patterns.
Why column-oriented databases run analytical queries 100x faster than row-oriented ones — covering physical layout, compression algorithms, vectorized execution, and predicate pushdown with concrete examples.
Hard-won lessons for structuring dbt projects that scale: layer conventions, testing strategies, slim CI runs, incremental models, and documentation that doesn't rot.
A deep dive into how Kafka distributes work across consumers, why rebalancing stalls your pipeline, and how to choose an offset commit strategy that matches your delivery guarantee requirements.
Why PostgreSQL's connection model breaks under load, how PgBouncer fixes it, and how to configure transaction-mode pooling without getting bitten by prepared statements or advisory locks.
What Dataverse elastic tables are, how TTL, partitioning, and JSON columns work, and how to decide between elastic and standard tables.