Spec Driven Development isn't Waterfall
Spec Driven Development isn’t Waterfall Write down what you mean. After spending a few months writing (e.g. on the Kiro Blog), and speaking (e.g. Real Python Podcast, SE Radio) about spec-driven devel
Distinguished Engineer at Amazon Web Services. Writes about distributed systems and formal methods.
https://brooker.co.za/blog/Spec Driven Development isn’t Waterfall Write down what you mean. After spending a few months writing (e.g. on the Kiro Blog), and speaking (e.g. Real Python Podcast, SE Radio) about spec-driven devel
What about juniors? Start at the beginning. Last week I wrote about how the role of the most senior tech ICs has changed. Today, I wanted to share some thoughts on a more difficult topic: how the role
My heuristics are wrong. What now? More words. More meaning? Some people who ask me for advice at get a lot of words in reply. Sometimes, those responses aren’t specific to my particular workplace, an
Music To Build Agents By I don't have this problem, because I don't use a mouse. Press play, then start reading: Want to learn how to think about agent policy? Start with Goethe’s Der Zauberlehrling
SFQ: Simple, Stateless, Stochastic Fairness Roll the dice. Paul E. McKenney’s 1990 paper Stochastic Fairness Queuing contains one of my favorite little distributed algorithms. Stochastic Fairness Queu
You Are Here Where to next? The cost of turning written business logic into code has dropped to zero. Or, at best, near-zero. The cost of integrating services and libraries, the plumbing of the code w
Pass@k is Mostly Bunk Exponentially better results? I'll take three! Measuring the success of AI agents isn’t easy. It’s very sensitive to what success means, it can require a lot of samples, its hi
AI agents achieve goals through side effects using tools. The key safety concern is controlling what agents can actually do, not just say.
Programming is evolving toward specification, with developers increasingly describing what they want rather than how to implement it through layers of abstraction.
SSDs are ~1000x faster than old spinning disks, but modern databases were designed for slow disks. What would a database built from scratch for SSDs look like?
Cloudflare's outage sparked debate about error handling in Rust, specifically the risks of using .unwrap() which can crash programs in large systems.
Strong consistency is better than eventual consistency because eventual consistency creates operational complexity and weird behavior in distributed database systems.