Hi, I'm Alex and I'm an author and software engineer, specializing in web applications, APIs, and RPC services.
I've been programming for a long time. My introduction to computers started with a Sinclair ZX81 that my dad built, but it was the rise of the web in the late '90s that really caught my imagination. I learnt some HTML, a little CSS, and then it snowballed from there.
I've worked with a lot of different tech since then, but when I picked up Go just over a decade ago I immediately felt at home with the language. I started writing blog posts about it, and a few years later this led to me self-publishing the books Let's Go and Let's Go Further. They get some great feedback, and I'm happy to have played a small part in helping lots of people learn and adopt Go. I'm currently in the middle of writing a third book.
I also work as a freelance consultant, and have a couple of great long-term clients in OMBU and the University of Basel. Before that, I worked as the technical lead for the UK government on police.uk and data.police.uk.
In terms of side projects, I'm currently developing Autostrada (a codebase generator for Go projects), and previously I built a couple of geographic data businesses and continue to maintain those.
Things that I value
I value friendliness and kindness in interactions, and simplicity and clarity in code, architecture, and workflows. I think that good code is explicit, non-magical, and easy to follow, and without unnecessary abstractions or dependencies.
Life & hobbies
I was born and raised in the UK, but now live in Austria. In the winter I love snowboarding, and in the summer I enjoy rock climbing, skateboarding, cycling, and hiking in the mountains near where I live.
Development setup
I use a Dell XPS 15 laptop as my main development machine. I like having the flexibility to easily sit and work in different places, and prefer it over a fixed setup. It runs Ubuntu as the operating system, and I use VS Codium as my primary text editor and Firefox as my web browser. I often use a portable Twelve South Curve Flex laptop stand and a Logitech compact wireless mouse to make working more comfortable.
About this site
The website that you're reading right now is powered by a custom Go application. The HTML and CSS are a custom theme which took me embarrassingly long to design 🙃. Everything is hand-written, and no frameworks are used.
It runs on a Digital Ocean server, which also hosts the Let's Go and Let's Go Further websites. Caddy is used to automatically manage TLS certificates and act as a reverse proxy to the sites. I use Ansible to manage the server and make deployments.