[June 2018] Lead engineer for Opus, Osirium’s new Docker-based task automation product. A greenfield project written in Golang and TypeScript, built using LinuxKit.
I was given the opportunity to make a brand new product for the portfolio after an internal pitch and a series of prototypes.
[July 2016] Team Lead in a growing engineering team building PxM Platform, a linux–based task automation and privileged user management appliance for VMware written in Python, C♯ and Ruby on Rails.
My second stint at Osirium. They lured me back with a steady pay cheque after their IPO.
Director of Job Done Tick; a little consulting outfit that has written networking software, the first version of the data processing pipeline & web backend for a popular Oxford dictionary and two mobile apps.
I started contracting to do some prototyping for Osirium, then ended up taking it up full time after the birth of my first son. After nine months and four customers I needed a mortage, so to simplify things I went back to full time employment. I kept the company alive for a few years afterwards to provide support for my software.
Lead Developer in a small team; hired to complete and launch a ground up rewrite of mymaths.co.uk that was started by a contractor in 2012.
The MyMaths website teaches over four million students world-wide.
This began as a refactoring, security and optimisation role; taking over an existing project, answering the final user experience questions and doing significant scaling work to handle the many existing customers and their data. The codebase had suffered from feature creep over its years in development and needed careful curation and automated testing. After nearly twelve months of hard work, culminating in a 300 million record database migration, the platform went live on Christmas Eve 2014. In its first twenty days it handled 11.9 million page views autonomously and with zero downtime. At its peak the site handled 40 million dynamic requests a day.
This was one of the very first agile projects in the company; an uncommon position inside OUP that saw me mentor junior developers who were begged, borrowed and stolen from other teams in the department.
Lead Engineer in a three person team developing PxM Platform, a linux–based task automation and privileged user management appliance for VMware written in Python, C♯ and Ruby on Rails.
PxM Platform is live in several multinational corporations and is used daily by teams of sys-admins to connect to and automate mission-critical devices in a secure, accountable way.
This role was an incredibly fast paced race to invent and harness a stream of proxies and agentless clients for various thin and thick infrastructure devices as our customers demanded them. As the lead back end developer I was under a lot of pressure to learn and reverse engineer each new device and find a way to fit them into the product. I built automation technology that other team members would use to support further, similar classes of device.
This was probably my most creatively challenging job to date, often having to solve problems that were far off the beaten path of mainstream development. I took over the project 3 years in: a prolific and temperamental proof of concept with no way to upgrade customers without destroying all their data. I led two extremely talented developers in the challenging task of turning the technical debt around, adding new features to close sales, and supporting existing deployments. Forward proxies with credential injection for a half-dozen protocols, an idempotent build, install and upgrade system, real-time session recording and a Windows desktop client were among my contributions.
Solo developer on appvox.com, an app authoring tool that generated customised iPhone applications via a supporting website designed for non-technical users.
Contracted on bespoke iPhone application development projects.
In this role I cut my teeth on Objective-C and iPhone development. While the Appvox platform was never successful the technology I built continued to run, forgotten on a server somewhere, many years after IST folded.
Lead Web Developer for a small team at billmonitor.com, a probabilistic price comparison engine that crawls & analyses your online bills, based on mathematics research from senior Oxford academics.
In at the ground floor of this startup, during this project I built (and refined through hours of usability testing in London coffee shops) the very first user interface for BillMonitor (long since un-designed by an expensive London branding company). After a series of high level departures some months in, I took over as technical lead; taking four Python scripts and a Cron job and working them into a robust, modular infrastructure that formed the backbone of the service.
Technical Co-Founder on a jolly venture building Pelorus - business change software that used state propagation to track the health of a project.
Pelorus started as a passion project to learn Ruby on Rails and became a fully fledged piece of software.
Engineer in the two-person graduate development team that built CellQ, a mobile phone based virtual queuing system for theme parks. CellQ went live at a park in northern England in July 2007, and during peak seasons served more than 5,000 users a month.
An education that a good engineering project is still at the mercy of an unaccommodating market. We were so busy failing to convince theme parks that people didn’t have to wait in queues that we didn’t notice we had built a robust real-time SMS system with multiple network redundancy. Other businesses went on to make a lot of money with similar technology.
Commissioned to create a system in PHP that registered preview day preferences and the advanced booking of events. The system went live in 2004, serving over a thousand university visitors. The system was run autonomously for another two years.
A very fortunate chance to learn how to run a real world project. Having absolutely no idea what to charge, I probably won the contract by being a fraction of the cost of the alternatives. I was blessed with well-behaved customers who knew what to ask for.
Graduated with an Upper Second (2i) BSc in Computer Science.
Concepts from my dissertation have been invaluable on every project since.