About Me #
Iām a prinĀciĀpal enĀgiĀneer based in London, foĀcused on deĀvelĀoper exĀpeĀriĀence, softĀware testĀing, and the platĀforms and tools enĀgiĀneers use every day.
I creĀated Testcontainers in 2015 ā a Docker-based liĀbrary for runĀning real deĀpenĀdenĀcies inĀside auĀtoĀmated tests. Itās grown into a de-facto apĀproach to inĀteĀgraĀtion testĀing across Java, .NET, Go, Node, Python and more, used at comĀpaĀnies inĀcludĀing Uber, Netļ¬ix, Spotify and Google. In 2021 I co-founded AtomicJar to build a comĀmerĀcial comĀpleĀment to it, Testcontainers Cloud; AtomicJar was acĀquired by Docker in 2023. Iām no longer inĀvolved in the proĀject, but Iām proud of what it beĀcame.
Today Iām a prinĀciĀpal enĀgiĀneer at Skyscanner, workĀing on deĀvelĀoper enĀableĀment, inĀterĀnal toolĀing and proĀducĀtion platĀforms ā inĀcludĀing Turbolift, a tool for makĀing code changes across a large miĀcroserĀvice esĀtate (the story beĀhind it). Lately Iāve been foĀcused on makĀing AI agents genĀuinely useĀful inĀside large, real-world codeĀbases.
A thread runs through most of what I build: pragĀmatic tools that pay atĀtenĀtion to what enĀgiĀneers acĀtuĀally need and get the job done.
Outside work Iām a faĀther of two, a husĀband, and a genĀeral-purĀpose geek ā inĀterĀested in home auĀtomaĀtion, elecĀtronĀics, and a long tail of other things. A few of those have esĀcaped onto the inĀterĀnet: euĀston.wtf, for catchĀing trains from Euston a litĀtle more easĀily; weekĀends, a printĀable calĀenĀdar genĀerĀaĀtor built around weekĀends and pubĀlic holĀiĀdays; and bikegears, a gear calĀcuĀlaĀtor for youth bike racĀing.
Contact #
The best way to reach me is LinkedIn or email. My code is on GitHub.
I write here from time to time ā the archive goes back a fair way.
Latest Posts
| Using Tailscale with Docker | |
| Faster builds with highly parĀalĀlel GitHub Actions | |
| More pracĀtiĀcal direnv |
More posts can be found in the archive.