-
Choosing the Right Integration Pattern: Synchronous APIs, Messaging, and Event-Driven Architectures
Most integration problems are not technology problems. They are pattern selection problems. When to use synchronous APIs, asynchronous messaging and publish/subscribe, and what each one costs to run. Read more →
-
The Agent Wasn’t the Risk
This is the last of three posts about handing a backlog to an AI agent: the first set up the experiment, the second scored the results. I spent a fair… Read more →
-
Learning Agentic Software Development: What I Predicted, And What Happened
In the first post I made six predictions about what would happen if I let an AI agent implement a backlog, and set up an experiment designed to prove me… Read more →
-
Learning Agentic Software Development: An Engineering Experiment
I’ve been in enterprise IT long enough to be pretty sceptical of anything described as a paradigm shift. But the way AI is starting to fit into development workflows genuinely… Read more →
-
Life After Puppet: Why a Mature Config‑Management Estate Has No Drop‑In Replacement
For the better part of a decade, Puppet has been one of the core pillars of enterprise infrastructure automation. It keeps servers configured, applications deployed, and environments consistent. In many… Read more →
-
Azure APIM in Practice: Functions, Queues, MCP, and a Copilot Studio Agent
My Azure experience up to this point had been pretty surface-level — deploying apps, writing the odd Bicep template, poking around with services like Storage and the occasional Container App.… Read more →
-
I Built a Rubik’s Cube Solver in a Framework I’d Never Used — Here’s What Spec‑Driven Development Actually Did
My day job sits somewhere between software engineering and DevOps: building APIs, automating infrastructure, wiring complex systems together. I’ve worked with Node.js, C#, cloud services, and CI/CD pipelines long enough… Read more →
-
Evaluating Augment Code by Actually Building Something
Most AI coding tools work well when the problem is small and the next step is obvious. As soon as requirements change, or the design gets a bit messy, their… Read more →
-
From Unmanaged Chaos to Git‑Centric Power Platform ALM
Why an unmanaged-solution workflow kept making Power Platform releases fragile, and how we moved to a Git-centric ALM process with the PAC CLI and GitHub Actions. Read more →
-
Exploring Agentic AI: Building a Dynamics 365 Wave Release Summariser in Python
Over the past year, I’ve been increasingly interested in agentic AI — not just using large language models to generate text, but designing systems that can reason, decide, and act across a… Read more →