About me
Multi-faceted software and infrastructure engineer. I’ve built large scale websites, trained graduate software developers, worked in platform teams on resilient, secure infrastructure, coached people adopting agile practices and migrated legacy systems to the public cloud.
I care about enabling cross-functional teams to work well together, delivering excellent products iteratively, building maintainable, performant systems, and using the best technologies to get the job done. I apply practices that help me achieve those things including TDD, CI/CD and agile.
Writings
- Running a Game Day
- Remote working: tools and tips
- Dynamically loading classes from modules in Python
- PGP Keys with a Yubikey and GPGTools
- The environmental case for eating less meat
- GNU Parallel or How to list millions of S3 objects
- Analysing Oyster data dumps with Clojure
- Inclusivity and devops
- Puppet: 'could not find class' and metadata.json
- Ten months travelling: UK to India overland by train
- Scratching an itch: why I like programming
- Why TDD isn't dead
- Framework scalability
- Mocking files and file storage for unit testing Django models
Experience
Kooth
Lead a team to implement better observability and reliability to successfully meet a surge in demand due to Covid of up to 2x the traffic at peak times.
Took on a Principal Engineer role championing performance. Implemented a performance strategy and worked across teams to reduce page load times by 50% in 3 months and cut infrastructure costs by a third over 12 months.
Supported engineers’ growth by coaching, running workshops, pairing and organising game/hack days.
ThoughtWorks
Infrastructure specialist working closely with developers to stand up infrastructure, improve build and deployment systems and help clients figure out how to build platforms and structure their teams. Involved in multiple projects including:
- working with a large academic journal publisher, rewriting their primary site and migrating it to AWS
- building a big data platform
- maintaining a complex microservices architecture employing multiple cloud providers and lots of public key cryptography for the UK government
- acting as BA, agile coach and technical advisor building an internal PaaS for multiple teams
Spent 4 months (two terms) as a trainer for ThoughtWorks’ graduate training programme, including one term as Lead Trainer.
Coull
Responsible for development of a lightweight custom PHP service fronted by Varnish to serve high volume traffic. Introduced PHPUnit-based unit testing including running tests and static analysis tools using a Jenkins project and created a monitoring dashboard system using Dashing.
Cyclingnews.com
Built with a CakePHP back-end and a custom PHP front-end coupled with Memcached to serve the millions of visitors that the world's number one cycling website receives at peak times.
I implemented a live reporting tool using nginx to power a desktop, mobile and tablet front-end written in JavaScript using long-polling techniques for responsiveness.
BikeRadar.com
The UK's number one cycling website built on a custom PHP platform. I implemented an A/B testing framework using Redis and introduced Vagrant-based virtual machines backed by a Puppet configuration used in production.
Bikely.com
Involved in a rewrite using CakePHP backed by MongoDB and oversaw the beginnings of a redesign including architecting the JavaScript using Backbone.js to interact with a RESTful API.
Contact Me
I love a good conversation! E-mail me (encrypted if you want) or find me on Twitter, LinkedIn and GitHub.