Sensei says, 'Slow down'

In my twenties, I spent a lot of time studying Aikido, a martial art rooted in defending oneself during a sword fight. Much of the attacks we would learn to defend against were based on someone grabbing your wrist—something your enemy might do to prevent you from drawing your sword. It was a lot of …

Write down your insights, and read them every week

When you have been involved in enough software projects, you build up a kind of mental muscle memory; a cheat book of what works well and what does not: X and Y save time, and Z will cause everything to catch on fire six months down the line. But when you make certain career moves, you revert to a …

Should you build it, or abandon it?

Over time a product will accumulate many features. Some are core features. Some are proofs of concept that have yet to be validated. Some are proofs of concept that failed. Some were once extremely relevant but are no longer fit for purpose. Some are a work in progress. The point is: features …

'Just because I can build this, should I?'

When it first became available to anyone with a telephone line and a modem, The World Wide Web was a very special place. Every trip onto the Web was a voyage of discovery. Content was being created at breakneck speeds, and behind every website was someone who took on the mantle of …

Reading list for a new CTO

Sun, Jan 24, 2021

I always maintain a list of a dozen or so books to read, so this article is updated whenever I finish a new book that makes me say ‘wow’. Eighteen months ago I stepped into a CTO role, …

Develop your autopilot

Sun, Dec 20, 2020

I was once asked during an interview, ‘How long until I’m leading the department?’ That question has stuck with me for years. As has the way the interview ended: with an entry-level …

A few predictions

Sat, Oct 31, 2020

This article has been adapted and combined from earlier separate writings, with additions to reference COVID-19 and its role in combining some of the predictions. We have long been promised flying …

Feature branch deployments

Sat, Oct 24, 2020

This article was originally published on the WONDR blog. ‘Hey, is anyone using the staging site?’ is a question most software developers will be used to hearing. You have three …

Flesh out the narrative with small contributions

Sun, Sep 6, 2020

How did you get into tech? Did you do a computer science degree? Did you stumble into it? Or did you upskill in your own time and work your way up from the bottom? No matter which route you took, the …

'I wonder if...': Moving ASCII art

Thu, Aug 16, 2018

‘ASCII cinema,’ was all that I heard. Sat in a weekly sprint meeting, my mind focused more on arranging my upcoming week of work than paying attention to the person offering a …

Speaking at your first tech conference? Just breathe...

Fri, Jun 29, 2018

I recently took the stage at Elastic{ON} — a mid-sized tech conference organised by the company behind enterprise search software Elasticsearch — to talk about my role in refactoring the backend of a …

Writing a 2D platform game engine in Golang

Tue, Apr 3, 2018

This article describes the hurdles I encountered during the process of building a simple game engine in Golang. To aid in building the engine I built a demo game alongside it: an approximation of the …

How one childhood moment formed my career

Tue, Feb 20, 2018

There are some moments that define your life, and are often alarmingly simple given the impact they will have upon you. This is how my entire career stemmed from catching the briefest glimpse of one …

SQL or NoSQL? How about both?

Wed, Oct 25, 2017

Hands up if you grew up with structured databases. Did you learn some flavour of SQL? Maybe MS Access in school and then MySQL when you started dabbling in code. SQL has spent many years as the go to …