Technical Leadership
Why Readiness Should Be a Habit, Not a Final Gate
Quality isn't decided in the final review. The teams with the smoothest launches built it through daily habits, long before anyone thought about a release date.
Game Development
A few years ago, I wrote about using a Maturity Matrix to assess software engineering teams. The idea was simple - what does a great team look like, and how honestly can you measure yourself against that picture? Since then, I've moved into the gaming industry. Anyone who has
Technical Leadership
Do you remember what a "normal" software team looked like? A product manager, an engineering manager, a designer, and six or seven engineers. Weekly planning meetings, a backlog to groom, a sprint to run. For most of the last decade, that was just... how teams worked. It was
Technical Leadership
Have you ever walked out of a 1:1 and realised you can't quite remember what you agreed on last time? Or spent five minutes before a catch-up scrolling through Slack threads, trying to piece together a conversation from three weeks ago? I've been there
Ever wished your AI assistant actually knew your stuff? Your files, your schedule, or even a custom data source? That's exactly what the Model Context Protocol (MCP) makes possible. MCP is an open standard for connecting AI assistants like Claude to external data sources and tools. Think of
Over the years, I’ve learned that being a Technical Program Manager (TPM) is a bit of a strange hybrid role. You’re expected to understand the tech well enough to contribute meaningfully, but you’re not the one writing and deploying the code anymore. The best TPMs I’ve
Technical Program Manager
A few weeks ago, I wrote about how PowerToys Workspaces helped me stop wasting time arranging windows every morning. Since then, a few people asked what else I use from the PowerToys suite. So today I want to talk about another tool that's quietly become part of my
Technical Program Manager
Have you ever sat down at your computer, ready to get into a flow state, and then spent the first ten minutes just arranging windows? Dragging your editor here, your browser there, nudging Slack into a corner - only to close it all two hours later, and start from scratch the
Game Development
In my career, I've been many things - a Support Engineer, a Software Engineer and an Engineering Manager. These days, I've settled into a Technical Program Manager role (which I am thoroughly enjoying). As a Technical Program Manager (or TPM), you're often expected to wear
Have you ever wanted to create a backup of your website or blog? Maybe you're migrating to a new platform, or perhaps you just want a portable archive of your content that you can read offline. I've previously experienced issues with this site going down and
Interested in regular content? Please enter your details below to subscribe. No spam ever.
If you’ve ever had an app crash at the worst possible moment, you’ll know how frustrating it can be - both for developers and players. Recently, I wrote an article for the Microsoft Developer blog that dives deep into this exact challenge: how to diagnose and resolve crashes effectively
Many years ago, I wrote an article on the basics of OAuth and while it was helpful, it is now quite outdated. A lot has changed in the past 14 years! OAuth 2.0 has become the de facto standard for securing APIs and authorizing users in modern applications. The
Back in 2013, I published a blog post about a simple HTML Minifier I'd built for web pages. At the time, web performance was becoming increasingly important, and I needed a straightforward way to reduce the size of HTML files in my projects. What started as a personal
If you've ever played a game on a modern handheld device, you'll know how much fun it can be. I recently wrote an article on the Microsoft Game Dev Blog about some key recommendations to help you craft exceptional gaming experiences for handheld devices. Please head
Over the past few months, I've been experimenting with Azure's Text-to-Speech service. It is a super powerful API that enables fluid, natural-sounding text to speech that matches the tone and emotion of human voices. Whether you are building an app or a game,
If you've recently ventured into the world of Azure Functions, you're likely familiar with the versatility they offer when it comes to scheduling tasks. In this guide, we'll delve into using Azure Functions' Time Trigger function with Node.js and Visual Studio Code,
In this article I go into detail about how I hooked up a Raspberry to continually track and monitor the progress of my beer all whilst graphing it out to another application. It gets a little geeky!
It's been almost four years since I started collecting data on Service Worker usage and support on this website and in this article I show the details.
I’m always on the lookout to improve both myself and my team's daily work, so when I came across a book entitled Leading Virtual Teams by the Harvard Business Review, it really caught my eye.
I was quite surprised to found out that I was greeted with an annoying HTTP 503 error on my site over the Christmas period. After taking a closer look at the logs on Amazon, it turns out that I had actually run out of disk space on the instance.
During my morning coffee session, I came across the book - Accelerate: The Science of Lean Software and Devops, and the title of the book instantly drew me in.
Behind the scenes, I have been working on a new book with my EA colleague Jo Root. I am super excited to announce that The People Manager: A Guide for the First Time Manager has been published! This is a personal project that has been a year in the making.