I'm a software engineer and architect with over 18 years of experience designing and building software systems, primarily in the Microsoft Azure and .NET ecosystem.
My career has progressed from software developer through to technical architect and solution architect, and I've remained hands-on throughout. I think that matters. Understanding how systems are actually built makes for better architectural decisions, and it means I can work effectively alongside development teams rather than just handing down designs.
Much of my work involves taking complex or poorly-defined problems, working with stakeholders to understand what they're really trying to achieve, and translating that into a clear technical direction. I use Domain-Driven Design as a core approach for this. It's a discipline I've applied consistently across a number of roles and find genuinely useful for aligning technical design with business intent.
On the technical side I work primarily with .NET and Microsoft Azure, building event-driven and microservice-based architectures, with strong hands-on experience across DevOps practices including CI/CD, containerisation, observability, and security tooling. More recently I've been working in the data engineering space using Databricks and Azure’s data platform services and have been exploring the use of generative AI, specifically looking at how inference-based architectures can solve practical business problems.
What I'm currently exploring
The AI and agent space interests me more broadly. I've been working with the Model Context Protocol as a structured interface layer between language models and business data, and exploring frameworks for building multi-step agent workflows. Most of this is still early in terms of production applicability, but the architecture patterns emerging around it are worth understanding now rather than later.
I'm also interested in how this intersects with existing enterprise integration patterns. The structured tool-call model that underpins MCP has strong parallels with SOA and event-driven thinking, which makes it tractable to reason about from an architectural standpoint rather than treating it as something entirely new.
Outside of work
I run a self-hosted homelab on k3s, partly out of genuine interest and partly to stay current with infrastructure tooling I might otherwise only encounter in managed forms at work. It runs Elasticsearch, Kafka, PostgreSQL via CloudNativePG, Authelia for auth, and a few other services. Useful for testing deployment patterns and keeping cluster operations familiar.
This site is self-hosted in the homelab for dev and staging, with production on Cloudflare Pages. Building and maintaining it is another way of staying hands-on with things I'd otherwise only oversee.
Location and availability
Based in the North West of England. Open to both employed and contract opportunities, primarily remote with flexibility for travel when it makes sense.