Developer Experience
Nx Should Make Code Graphs Cacheable
Nx already owns the Project Graph and distributed cache. Should it make finer Code Graph indexes reusable across the organisation?
Developer Experience
Nx already owns the Project Graph and distributed cache. Should it make finer Code Graph indexes reusable across the organisation?
AI & Tooling Futures
MCP is useful packaging, not architecture. Build durable APIs and CLIs first, then generate the adapter if the market still wants one.
Architecture & Systems Thinking
A graph-aware monorepo turns source and build relationships into infrastructure, reducing the time and tokens AI spends rediscovering them.
Engineering Culture
Management meetings were built for an older information system. Poor writing keeps the machinery alive, and one calendar invitation can commit thousands before anybody acts.
Engineering Culture
Cascading a message through management loses reach, meaning and accountability. Policy owners should publish directly, notify proportionately and put repeated rules into the workflow.
Organisational Design
AI extends the reach of engineering judgement. Product delivery units can become smaller, management spans can become wider, and collective stewardship can remain.
Engineering Culture
Better models do not remove the need for expertise. They can make bad judgement harder to recognise and give good judgement far more reach.
A song about something that never dies but is already dead turned up on a thirty-year-old mixtape this morning. Cassette has a way of delivering what you would never think to ask for.
The web has caught up. PWAs and TWAs now deliver apps that feel native, run faster, and update instantly - while still leaving space for native SDKs where they matter. On Android especially, it’s time to move beyond WebViews.
Waiting times are down by a third. You would not guess it from the numbers. That is the paradox at the heart of this story.
An orchestra can rehearse in separate rooms. Each section sounds fine to itself. Strings keep time, brass hit their notes. But the first time they come together the rhythms do not match. What was music alone becomes noise together. The only way to avoid it is to rehearse in the
Essays on software engineering, product and performance. Reflections on how teams and technology shape the experience of consumers.
AI lets one engineer carry work that might once have required a cross-functional product development team. Delivery units can shrink, management spans can widen, and the community can still own the product.
AI has reduced the cost of coordination across software engineering. Our management structures should probably notice.
A case study in how AI can encourage confidence when the limits of the analysis are not made clear.
Building a premium experience on the web is harder than it looks, but it scales everywhere once you get it right. This is what that discipline actually involves.
Queueing looks harmless at first. A slow call holds a few threads, then a few more, and if left unchecked it can tip the whole system over.
Players only see production. Engineers live in the systems behind it. When those systems fail, the product fails later. The two worlds are closer than they look.
Most slowdowns in an SPA come from one place. Too much work ends up hanging off a single thin thread inside the browser, and the moment it strains, the whole product feels it.
Sparse checkout as the everyday way to work in a monorepo.
Finding the Keys That Matter
Sometimes the fastest way to find out what’s broken is to try to ship it.
Sometimes the things that once made sense deserve another look.
How many teams ship one product across surfaces without collisions.