About
Software engineer in Edinburgh. Twelve years between a database and a person waiting for it.

2021–now
Independent engineer
Halloran Engineering
Contract work for payments and logistics teams. Two clients a year.
2019–2021
Staff engineer
Stillwater
Led the ingest pipeline from 600 million to 4.1 billion requests a day.
2016–2019
Senior engineer
Calder & Wren
Card payments for independent shops. Rebuilt reconciliation twice, the second time properly.
2014–2016
Software engineer
Northlight Systems
Warehouse software. Learned what a night shift does to a bug report.
I started in warehouse software in Dundee, where a bug meant a lorry waiting in the yard. That is still how I think about latency.
From there I moved to card payments in Glasgow, then led an ingest pipeline through its awkward years. Since 2021 I have worked for myself from Leith, on two contracts a year. I take the ones where a slow page costs somebody money, because those teams already know which number matters.
Away from the desk I maintain Sandeel, a small feature-flag library, write a few essays a year and run badly along the Water of Leith.
Measure first
No change without a number before it and the same number after. If it cannot be measured yet, that is the first job.
Small changes, shipped
A week of small merges behind a flag beats a month on a branch. Each one can be undone before lunch.
Write it down
Decisions go in the repository next to the code they explain, in sentences a new starter can follow.
The two-page version, with references, on request.