Blog
Practical notes from backend, data, and production AI work: reliability, testing, deployment, performance, and cloud costs.
September 11, 2026
The Ideal CI/CD Deployment Pipeline
From build checks to production, how to structure a CI/CD pipeline that catches failures early and deploys changes safely.
September 9, 2026
5 Types of Software Testing for More Reliable Systems
A practical guide to unit, integration, canary, fault injection, and performance tests, with lessons from almost a decade at Amazon.
September 7, 2026
Don't Manage Production Prompt Labels by Hand
If your code is versioned but production prompts sit behind a mutable label, you've only versioned half the application.
September 4, 2026
Your Prompts Need Integration Tests Too
A playground checks the prompt. Production failures often come from retrieval, parsing, and the code around it.
September 3, 2026
When Amazon EMR Gives YARN More Memory Than the Machine Has
On some instance types, EMR tells YARN it can allocate more RAM than Linux sees. Spark looks correctly sized. The node still runs out of memory.
September 2, 2026
Why Your Spark Job Keeps OOMing Even After You Scale Amazon EMR
EMR sizes executors for the hardware, not your workload. Scaling out adds more of the same undersized executors, and mixed instance fleets can make it worse.