RSSAmplifier

Blog

Sion's Blog

Recent content on Sion's Blog

sionwilliams.comRSS feed ↗92 posts

Latest posts

2026 May AI Workflow Update: Letting Claude Into the Vault

I’m overdue an update. Two months on from my last workflow post , much has shifted - some of it from new tools, more from joining an organisation that takes AI seriously. The biggest change: I’ve handed my Obsidian vault to the agent. That sentence took a while to write. I’ve kept my personal knowledge management deliberately portable for years - no vendor lock-in, no proprietary…

Using Dotfiles to Manage Agentic Workflow Artefacts

I love agentic programming. Over the past two years I’ve built several CLIs and webapps to smooth my workflow. One problem persisted. Design a command for Project A, and you want it in Project B. Build a sub-agent fluent in Golang, and it sits useless in your JavaScript work. You need selectivity - certain artefacts for certain projects, no duplication. My instinct: build a centralised…

2026 March AI Workflow Update: Gemini Pro, M2.5,OpenAgentsControl, and JCodeMunch

I’m forever changing my workflow as new tools are developed and better models become available. It’s not just a matter of chasing shiny objects - it’s about staying efficient, reducing costs, and leveraging what’s actually best for each task rather than defaulting to the most expensive option. This is the first installment in what I’m making my formal record of how my…

Fixing Home Assistant Matter-over-Thread: A Troubleshooting Deep Dive

Over the course of a few weeks, I’ve been locked in a deeply frustrating battle with my Home Assistant Thread network. What started as a simple desire to improve the signal strength of my setup quickly spiralled into a complete teardown of my smart home infrastructure. If you’ve ever found yourself staring at an obscure “check that your device can work with this network type” error while trying to…

My 2026 Workstation Setup

I thought it would be fun to capture my daily driving environment for the year 2026. I have made a few changes during the first 2 months of 2026 and I thought this would be a fun way to track that evolution over time. Hardware As of today I am working on a Macbook Pro M2 with 16GB of RAM running Tahoe. I have owned this device for 3 years and it’s still as strong as the first day I got it. I…

Building Enterprise Grade AI Capability - A Structured View

Introduction Building enterprise-grade AI capability isn’t a sprint. Most organisations that have dabbled with AI focus on the shiny bit: the model, the prompt, the first working demo. What separates experimental play from sustainable enterprise capability is everything else - the scaffolding, the oversight, the systems thinking. The diagram above maps that destination. It’s not a…

My 2026 Agentic Coding Workflow

This post is intentionally hands‑on. It’s an example of how I’ve been using it safely, deliberately, and with clear boundaries. I have been using Beads for the past month and wont work on a project without it now. As I think of feature’s and conclude a planning session, I store it all in beads. If an agent spots an issue whilst working on a task - it gets stored in beads.

How I use AI

In this post, I share how I use AI to augment my work as an Engineering Manager: improving my knowledge, writing better notes, challenging my own thinking, and becoming a more effective leader. Just as importantly, I’ll also cover where I don’t use AI, and why. This isn’t a list of tools or prompts for their own sake. It’s an attempt to show how I think about where AI earns…

AI Adoption Starts with Internal Capability

AI adoption is often framed as a tooling problem or a skills problem. In practice, it’s usually neither. Most organisations already have access to capable AI tools. Many already have people experimenting with them. What’s missing is internal capability—the ability for an organisation to use AI confidently in day‑to‑day work. Leadership support and funding matter, but not as ends in themselves.…

Refreshing a dated website in a few hours

Since leaving ManyPets, I have felt a strong urge to return to code. As a Director, I drifted away from the code, and I missed it. I am not a seasoned front-end developer. Web development is not my strength, and neither is design. In 2020, I built a portfolio website for a friend’s construction business using Hugo and the Forestry CMS. We caught up recently, and he mentioned that the site…

My Agent Army Using the HMAS Architecture

I’ve been diving head-first into the world of AI-driven development lately, specifically playing around with OpenCode and its agent framework. Like many, my first attempts were with a single, monolithic agent. You ask it to do something, and it… well, it tries to do everything. It plans, it codes, it researches, all in one massive, chaotic context window. It works, sort of. But it always…

Impact Over Elegance: Why Architecture and Impact Intelligence Will Define the AI Coding Era

The next wave of great products won’t be won by who ships the most elegant code. What will matter is who gives machines the right boundaries, who encodes intent into systems, and who can prove that shipped features move the numbers that matter. That’s why I believe two ideas are converging fast: architecture is back , and impact intelligence is the new currency. The Bet Businesses Will…

Modelling Technical Debt with Systems Thinking: A Journey from Simple to Sophisticated

Introduction As an Engineering Director, I’ve long been fascinated by the invisible forces that slow down software teams over time. We call it “technical debt,” but how do we actually model its impact? How do we quantify the cost of shortcuts and make the case for refactoring investment to business stakeholders? Recently, I discovered Will Larson’s systems thinking tool and…

Creating a Wake-Up Light Automation with the Help of ChatGPT

Today, I’d like to share my unique interaction with ChatGPT, OpenAI’s state-of-the-art language model. I was trying to create a wake-up light automation in Home Assistant, and ChatGPT came to the rescue! The Problem: I wanted a way to wake up in the morning gently. Traditional alarms can be jarring, and I’ve read about the benefits of waking up with natural light or, in my case,…

My First Generative AI

Introduction This blog introduces my experience writing my first generative AI app. I set out to use AI to assist in finding the right assignee for a task in my company’s task management system. As we have a distributed architecture, it can be challenging to know where to send tasks to be completed. Often, tasks will hop around a few teams before reaching the correct team - this can be…

Becoming the Head of Engineering at 35: My Journey and Lessons Learned

Introduction Unsplash: Markus Spiske When people learn that I became the head of engineering of a leading UK insurer at 35, they often express surprise and curiosity. While I don’t consider 35 particularly young, it isn’t the norm in the industry. My path to this position was filled with hard work, continuous learning, and various experiences that shaped me into the leader I am today.…

This is why you should keep stateful and stateless resources together

A blog of the same title from another author was recently shared in my company Slack, and I was about to write a reply, but I thought it would help if I wrote my response in long form. At a principle level, I agree with the author; to achieve high cohesion, both types of resources should be kept together. A Stack represents the system, so all resources that form the system should be represented…

Sapere Aude

Unsplash: Avery Evans I. Introduction Welcome to my blog discussing the concept of Sapere Aude , or “Dare to Know.” This Latin phrase, made famous by philosopher Immanuel Kant, encourages individuals to embrace intellectual curiosity and the pursuit of knowledge. This mindset is more important than ever in the fast-paced world of software development. With new technologies and…

Leadership: Failure Is Not an Option

Introduction I recently finished reading Gene Krantz’s book “Failure Is Not an Option” and was struck by its impact on my thinking and approach to leadership. Krantz , the flight director for NASA’s Apollo program, is known for his iconic phrase, “failure is not an option.” But as I learned from Krantz’s story and philosophies, this phrase is more than…

A Christmas Tale of two insurance companies

This story was generated by ChatGPT with the following prompt: Can you write a christmas story about two insurance companies. One is a grumpy 175 year old who doesn’t believe in technology as a differentiator, has a toxic culture, and still doing waterfall deliveries. The other is a young, hip company who believes in using the best technology, providing an environment which is safe for…

Shu Ha Ri and Agile

tl;DR Shu Ha Ri’s concept can help teams approach Agile adoption in a structured and deliberate way and balance the need for consistency and flexibility as they learn and grow. Introduction I recently had a chat with a friend who is a really good agile coach. During the conversation, he argued that it was more important to “be agile” than to “do agile”. I should note…

PKM Systems: Highlighting

Yup, I have a highlighting system. I spend a lot of time on my personal knowledge management (PKM) system, and over the years I have developed tools and systems to improve it. One of those is my highlighting system. I use the Zebra Soft Brush Mildliner set and they come in packs of 5. Colour System: Pink - Idea Reading something has triggered an idea. My first step is capturing the idea in LogSeq…

Platform Engineering at LV

When I rejoined LV in 2108, LV was still an ITIL -heavy organisation. As with most large companies, we had a team of build managers who worked with the various delivery teams to set up things like build automation, build scripting, and release packaging. Evolution #1 - DevOps Engineering In 2018, DevOps and, more specifically, DevOps Engineering was all the rage. Recruiters weren’t looking…

Spotify Backstage at LV

Any engineer who has started a new project will know how time-consuming bootstrapping a new repo can be. You have to configure your build scripts, configure your test tool, add your pipeline scripts and so on. Most of the time, we get into a build fix cycle because the most obvious thing to do is copy and paste from another similar repository. When we first build the project, it inevitably fails…

The Great Resignation and Why I Stayed

You’ve all heard that we’re currently going through a great resignation. I almost added to that statistic, but I want to explain why I didn’t go. I had a contract signed, a juicy pay rise in sight and only one month left of my notice period when I listened to a podcast where the guest said, and I’m paraphrasing, “Millenials leave jobs when things get difficult rather…

15 Visuals That Will Motivate You to Read More Books

15 Visuals that will motivate you to read more books: 1. "Read what you love until you love to read." - @naval pic.twitter.com/3cQzPyyt2P — Alex & Books 📚 (@AlexAndBooks_) March 28, 2022

Beautiful principles

If a system is to serve the creative spirit, it must be entirely comprehensible to a single individual https://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html

Gene Kim’s Audit and Security Playlist

“How does DevOps ideally interact with information security and compliance?” This is a problem that was extensively explored in The Phoenix Project, and I have learned so much about the amazing ways that solutions can be found. Here are my favorite videos that describe how information security has shifted from being viewed as a burdensome obstacle to people helping everyone across the…

The Role Of QA in Agile Software

The WTF is SRE conference is back!

WTF is SRE? is the free, full-day conference designed by sitereliability engineers, design thinkers and people with ‘innovation’ in their job descriptions. Get ready to uncover more about SRE: RELIABILITY DEVSECOPS OBSERVABILITY https://www.cloud-native-sre.wtf/

Testing microservices

A detailed series of posts on testing microservice-based applications, covering environment/request isolation, staging environment issues and more. Testing Microservices: You’re Thinking About (Environment) Isolation All Wrong Testing Microservices: Isolating Requests (Not Environments) with Telepresence Testing Microservices: How to Share Staging Environments without Tripping Over Each Other

Interactive DevOps capability assessment

Many of you will have seen my capability map and how they align to various goals (which I need to update for our new strategic priorities), but here’s a nice interactive version from Google: https://www.devops-research.com/research.html

How to fix Ignoring query from non-local network in dnsmasq?

After an evening of tinkering with pi-hole I woke up to the following warning in pi-hole. This manifested with non-main networks, such as IoT, Camera, and Guest failing to connect to the internet. The setting that needs to change is in “settings” -> “DNS” -> “Interface Settings” -> toggle “Permit all origins”. However, take care with this setting.…

Fastmail

Are you an overly cautious person who hates using their actual email address in case someone sells it to a marketing company? Me too, and that’s why I have just signed up for a year of Fastmail. I discovered Fastmail when I was emailed about 1Passwords “masked email” feature. 1Password Masked Email Some of the big vendors I work with often share free ebooks, but it’s…

Exporting your Kindle clippings/highlights

Problem I want to export my kindle highlights, and I dont want to use third party software. Solution IMPORTANT: you must use a “data” capable micro usb when you connect your kindle to your PC. I have seen a number of people complaining online that they cant connect their Kindle to their PC. Unfortunately, there are 2 types of cables and it wont be obvious which you have. There are…

Digital Garden

Introduction As a student, I was highly disorganised. The most “digital” organisation means I had at the time was the bibliography tool in MS Word. However, ebooks and good quality digital publications weren’t commonplace at that time, and I wasn’t aware of concepts like Zettelkasten. So over the past 5 years, I have tried to perfect my Digital Garden . My digital garden is…

VSCode Extension Recommendations

A good set of extensions can make working with a particular workspace or programming language more productive and you’d often like to share this list with your team or colleagues. I’ve been a huge fan of VSCode recently and another great feature I discovered is the extensions recommendations. // FILE: .vscode/extensions.json { // See http://go.microsoft.com/fwlink/?LinkId=827846 // for…

VSCode: fanboying over devcontainers

I’ve been working with Azure recently and was introduced to the Rover , a fully provisioned container for working with Azure Terraform. I hadn’t appreciated Microsoft’s ability to create environments using containers that VSCode can then connect to in an OS-agnostic and portable way. I mainly use my Mac as a dev machine, but I use my gaming PC to do the odd coding task every now…

Foam Research: Templates

As part of my second brain workflow, I like to store complete copies of the sources I read. To make this easier, I created a template. Unfortunately, the Foam documentation isn’t forthcoming on how to do this, but you can find it here . To create the template, use Ctrl+Shift+P , then type Foam: Create New Template . For my resource template, I used: # ${1:$TM_FILENAME_BASE} Date…

Using Telegram With Sonarr, Radarr and Lazylibrarian

Problem I want to receive notifications when a download has started or completed. Solution Pre-requisites Telegram installed Sonarr installed Radarr installed Lazy Librarian installed Telegram setup Let’s create a new bot. Start a chat with @botfather and type /newbot . You will get a bit of assistance through this process, so follow along. “Alright, a new bot. How are we going to call…

Unifi, Namecheap and Dynamic Dns

I. SETUP on NAMECHEAP WEBSITE: A) Login to the the namecheap website and select MANAGE for your domain B) Click on “Advance DNS” tab C) Create a new host record using 4 pieces of info: type = A + Dynamic DNS Record host= * (this is the public name you want to access your device with. I'm using wildcard) value= 127.0.0.1 (this can be any IP as it will change once the gateway registers…

My 2020 Reading List

Here are the books I read last year. I don’t do audiobooks when comprehension is the goal, so you won’t find a list of 40+ books here. This is my ordered list going from recommended, to pass. The Vision Driven Leader was excellent, and a recommended read for anyone in a leadership role. While I wanted Project to Product to wow me, it didn’t. Just as you reach the end when you…

Agile without Engineering Practices

When companies adopt Agile, the debate always ends up being one of Kanban or Scrum. There’s one big problem in that for me; they’re both variations of workflow management (or project management), and neither offers any guidance on the engineering principles we should adopt. Extreme Programming did a little better because it was explicit about engineering practices. XP suggests teams…

My Happy Place 2020

This title is very misleading because like everyone else I was stuck in my house for most of 2020. However, I thought it might be fun to list all the things that made lockdown a little more bearable for me. The list below was inspired by the lists created on Cool Tools, and the images below are all links to where you can buy the same items. So here they are in no particular order…

My Second Brain

Some might argue I don’t have one, let alone two. I read lots of material, but I have a terrible time recalling all the great things I read. I’ve been yearning to find a system that helps me absorb more information while also organising it. I have spent most of 2020 trying to build that system, and I think I have reached a system that works for me, finally. My knowledge workflow has…

Artifactory: Node & Npm Mirror

If like myself you work in a corporate environment and you have policies which restrict you from downloading directly from the internet then you will need a proxy or mirror which can fetch the dependencies you need while keeping track of what you pull in. At my current company, we use Artifactory. This is a guide on how you can mirror Node and NPM repositories, for better control over what you…

Terraform Layered Composition

I discovered a new trick with Terraform, which helps us better structure our infrastructure as code. As the title suggests, it’s called layered composition. I’m a big advocate of the innersource movement, and I think it’s a good idea to have most things visible. However, there are some things people just don’t need to worry about. Take, for example, how subscriptions are…

Why I Use Synology Diskstation

As a Principal DevOps Engineer, it wouldn’t be unreasonable for you to expect me to have built my home server/lab/NAS. I have done precisely this in the past. I immensely enjoyed sourcing all the parts I wanted, assembling them and then provisioning it using Ansible. The goal of that machine was to keep it as low power as possible, but still serving the my needs. To be honest, back then,…

Gradle Multiple Test Sourceset Coverage

Problem I want to categorise my tests, but I also want to see their respective code coverage using Jacoco. Solution Tested on Gradle v6.0.1. When all your tests live in the test source set, you can simply follow the documentation . However, if you structure your tests more granularly, like this: . ├── src │ ├── cdcTest │ │ ├── java │ │ └── resources │ ├── e2eTest │ │ ├── java │ │ └── resources │…

Jira ID in a Git commit message

This is is the subject of many holy software wars. Hopefully I will convince you there’s only 1 right answer. Option 1 : Jira ID & Terse description example SDP-1 set repo name to jira summary Option 2 : Terse description and Jira ID in body example set repo name to jira summary SDP-1 Winner is .. Option 2. It has to be, right? When you work on the command line, characters are precious.…