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.
- 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
- Scratching an itch: why I like programming
- Why TDD isn't dead
- Framework scalability
- Mocking files and file storage for unit testing Django models
- A little less magic
- A scalable architecture for Django applications using Docker
- See one, do one, teach one
- Six lessons from working in platform teams
- Software development best practices for Puppet users
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.
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.
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.
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.
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.