Start here

Start with the question in front of you.

I help practising software engineers turn technological experimentation into dependable engineering practice.

Whether you’re exploring an idea, building something useful, or improving an existing system, choose the route that fits the work in front of you. Each gives you an explanation to start with and something practical to try.

01 / Experiment

What should I test before committing?

A new tool or promising prototype gives you something to investigate. Identify the assumption that matters most, decide what evidence would change your mind, and run a small experiment before investing more time.

Start here when you’re weighing up a technology, testing an idea, or deciding whether an approach is worth pursuing.

Start with this article

Hypothesis-Driven AI Innovation: A Framework for Building Bold Ideas

A practical way to turn assumptions into testable hypotheses, gather evidence, and decide what deserves further investment. The examples focus on AI.

Try something practical

Azure OpenAI Image Token Calculator

Change image dimensions, models, and request volumes to compare estimated costs before choosing an approach for your own workload.

02 / Build

How do I build a useful, efficient system?

Turn a working idea into something people can use. Make the trade-offs explicit, keep the design understandable, and build a way to deliver changes consistently.

Start here when you’re implementing a feature, creating a reusable tool, or connecting the pieces of a system.

Start with this article

How to build & publish NuGet packages with GitHub Actions

Take a .NET library through building, testing, packaging, and publishing with an automated release workflow that others can reuse.

Explore a working example

Swagger Merge

A focused CLI and .NET SDK that combine Swagger and OpenAPI definitions, with source code you can inspect and adapt.

03 / Improve

How do I make the practice dependable?

Use tests, reviews, and clear explanations to make changes easier to trust. Look for the evidence that supports a decision, the failure cases you haven’t covered, and the knowledge someone else will need to maintain the work.

Start here when you’re strengthening a test suite, improving delivery, or helping your team review and understand changes.

Start with this article

A Guide to Making a Good Pull Request

Give reviewers the context they need: focused changes, a clear explanation of why they matter, and evidence of how they were tested.

Try something practical

.NET API Integration Testing

Explore a sample API and integration tests that use a SQL Server container, with templates for running them in Azure DevOps.

Current focus

Working with AI right now?

Much of my current work explores prompting, agents, orchestration, and evaluating whether their results are fit for purpose.

The same engineering questions apply: what should we test, how should we build it, and what evidence makes it dependable?

Start with this article

The Safest AI Agent Knows When to Say No

Start with the decisions an agent should defer, refuse, or hand back to a person, and how to test those boundaries.

Explore a working example

Everyday Copilot Plugins

Explore reusable Copilot skills for code review, debugging, and pull requests. Try a workflow on your own project, inspect the instructions, and review the results against your engineering standards.

Put one idea to work.

Pick the explanation closest to your problem, then try it in your own context. Change an assumption, test a failure case, or adapt the example to the constraints you’re working within.

Write down what happened, what the result supports, and what remains uncertain. That gives you something useful to take into your next engineering decision.