(PDF version)

Career History

02/2020 - Present: Babylon Health - Staff Software Engineer

12/2016 - 02/2020: Oliver Wyman - Senior Developer

LShift was bought by Oliver Wyman, and I moved as part of that. I was working on:

01/2015 - 11/2016: LShift - Senior Developer

In January 2015, I returned to LShift, restarting the lead/senior role I had been in priorly, working on a variety of projects, primarily as the lead developer in most cases.

11/2012 - 12/2014: Spotlight - Senior Developer

As a Senior Developer for Spotlight, I was responsible for multiple areas, covering development work, architectural design and discussion with Product Owners regarding their areas of interest

03/2010 - 10/2012: LShift - Senior Developer

My work for LShift covered a wide variety of areas, both as part of a team and as the primary client contact/lead developer for various projects with up to 3-4 developers in a team, using Agile development throughout

04/2008 - 02/2010: Imperial College London - Research Associate in Body and Visual Sensor Networks

My primary focus was in embedded systems development for networked, battery powered devices

09/2003 - 01/2008: Delft University of Technology - PhD in Wireless Sensor Networks

Thesis focused on the nature of abstraction in sensor networks - examining how this causes problems through the various layers of the software stack, and showing how rethinking the way in which we approach the problems (using techniques derived from the relationship between linguistics and how it is related to how we think about ideas) can provide better solutions to the difficulties faced in sensor networks, with evidence from my implementations of novel protocols both in simulation and for node hardware.


See full list

Software Engineering Skills

Expert C (20+ years experience) and Python (15+ years) programmer. Other languages known include C#, Clojure, Java, Javascript, Kotlin, Ruby and Rust. Expert level experience with Linux systems, particularly with Debian-derived and embedded systems. Worked with Kubernetes, Rancher and Dokku, as well as various custom Docker management systems. Have two apps on the Android store (one written in Kotlin, the other in Java).

Other activities

I was involved with the Gnome project as part of the BugSquad, aiding in bug triage work. I have been responsible for closing over 11,000 bugs (mainly due to duplicate reports), and have contributed patches to over a dozen separate pieces of software within the project. I've also contributed back accepted patches for a wide variety of other open-source projects from dbus to freetype, network-manager to packagekit, and some of my work is now in the Linux kernel.