Senior software engineer with ten years’ experience working with a wide variety of tech stacks and languages. Currently working mainly with Elixir, React, and Typescript.

A firm believer in automated testing and continuous integration, with a strong commitment to code quality and maintainability.

Experienced with all parts of the development lifecycle, all the way from design to deployment.


Senior Software Engineer, Technical Lead, Pirate Studios
March 2018Present

At Pirate Studios, I use an eclectic mix of languages and technologies to develop software for the world’s largest network of unmanned music studios.

My current role at Pirate Studios is leading the rewrite of our core booking system. We are replacing a Ruby on Rails MVP from the very first days of the business with a scalable backend API written in Elixir and a responsive frontend using TypeScript with React.

Prior to this, I was working on our Facebook Live Streaming project. This project included a frontend written in TypeScript with React, an API written in Ruby, and a Haskell app running on Raspberry Pis deployed in music studios worldwide. I’ve been involved with this project since its inception, turning ambiguous business requirements into a scalable and maintainable architecture.

As a technical lead, I take responsibility for architecture and code quality across projects and work with the rest of the technology management team on more general technical strategy and hiring.

Senior Software Engineer, Rocketmakers
September 2013March 2018

At Rocketmakers I worked with startups and corporates developing minimum-viable-products and production ready applications.

I had a leading role in all projects that I was involved with. I typically worked on the backend alongside a frontend developer, but I occasionally worked across the full stack.

At Rocketmakers I took an iterative approach to software development, preferring to get something usable into the hands of end users, and working directly with clients to continuously improve their products.

My projects at Rocketmakers included:

  • TravelLocal, a web application for connecting travellers with local travel agents, who can create and refine itineraries for bespoke luxury holidays. I built the backend components of TraveLocal’s complete travel platform from scratch in a very short timespan, and they are now a successful business. The technology used included node.js, TypeScript, and PostgreSQL.

  • PDMS, a system used by the English Institute of Sport to track performance and medical records of elite athletes. PDMS was used to great success during the 2016 Olympic and Paralympic Games in Rio, and will be used in future Olypmpic Games and other major international competitions. The technology used included C#, SQL Server and Azure.

Software Engineer, Technical Lead, Granta Design
August 2010September 2013

While at Granta I worked on GRANTA MI, a very large material science product for use in the aeronautic and automotive industries. I started out as a Junior Software Engineer and became a Technical Lead within just two years. I was responsible for implementation of new features across almost every aspect of the system, as well as the high-level technical strategy for API and Server products.

My time as a technical lead was spent designing and implementing solutions to maintenance problems typical in large legacy systems. Since then, I have felt very passionately about designing systems that are loosely coupled and easy to maintain from the start.



  • Elixir
  • TypeScript
  • JavaScript
  • SQL
  • Ruby


  • Phoenix
  • React
  • Node.js
  • Rails
  • Gatsby


  • Docker
  • Kubernetes
  • Terraform
  • Consul
  • AWS


  • Git
  • Bash
  • Linux
  • ELK
  • PostgreSQL


Bachelor of Science (Hons), First Class, Computer Science, Royal Holloway, University of London
October 2007June 2010

An up-to-date version of this CV is always available at