I am a full-stack software developer with 13 years’ professional experience developing and managing large-scale projects. My passion for DevOps means I am always looking for ways to reduce both development and maintenance overhead. Code should be easy to build, test, deploy, scale, monitor and maintain: over the years I have learnt all the good and the bad about how to do this. I don’t use any language/framework in particular, and I’ve learnt and worked with too many to list here. I am especially proficient in Linux and I have a soft spot for coding in Ruby and Go. Clarity of communication is really important to deliver high-quality code fast. I have built up a reputation for understanding and articulating difficult concepts well. My first love is business process: finding ways to cut down on bureaucracy and automate areas where people are most blocked, frustrated or bored. This has worked out very well for the organisations that have employed me. I have a very extensive range of non-tech interests, and these inform my technical life by giving me a more well-rounded perspective on my work.
Fish Percolator: Managing Director
May 2015 — present
Fish Percolator is a software consultancy, specialising in full-stack development and bringing Agile practices to businesses outside the software world. The Fish Percolator portfolio is constantly growing, but key projects include:
- Noiiz: A subscription-based service for musicians who work with samples. Developed alongside Samplephonics to their requirements. This is now a launched product with a full-time development team, and I provide architectural support on an ongoing basis.
- Revelry: An open-source presentation authoring tool based around Reveal.js. People who know HTML and CSS can ditch PowerPoint for good and work with the tech they know.
Fish Percolator is very active in the open source world. You can check out contributions on GitHub @fishpercolator.
USDL: Team member
January 2016 — present
I am a member of the Urban Sustainable Development Lab, one of Nesta/The Observer’s 50 New Radicals 2016. The Lab uses technology innovation to solve social issues faced by the public and third sectors. My work with the Lab has resulted in the development and launch of:
William Hill: Ruby Developer (contract)
August 2015 — February 2016
I worked with the William Hill Cloud team for 6 months, developing various enhancements to their bespoke PaaS system.
I had the chance to work with several open source projects, including making extensive enhancements to two of the providers in the Fog.io cloud services library, resulting in my being named the MVP for Fog’s 1.37 release.
Trend Micro: Architect and Site Manager
July 2010 — August 2015
At Trend I held various management and architecture roles, with my most recent being the overall manager of the Leeds site, with line/project management responsibility for all staff at that site. Simultaneously I was the architect and a key developer of several large-scale projects, including a multi-million-user reporting portal based in Amazon Web Services.
Because of the size of Trend Micro’s customer base, all the projects I have designed have had to have comprehensive monitoring, metrics and horizontal scalability. And of course a full suite of functional and unit tests.
The challenge at Trend was working in a large organisation, bringing modern development practices to a company that is still focussed on building packaged Windows applications. Thanks to my initiative, the Trend consumer team worldwide adopted a continuous integration & deployment process, moving away from locked-down enterprise tools to trust-based open-source ones and moving away from solely script-based QA to a more automated testing environment.
Transitive / IBM: Lead Software Engineer
July 2003 — July 2010
Doing DevOps before DevOps was cool. I was a lead engineer on the team building automated testing infrastructure for a product with unlimited test permutations. I was a key developer of software similar to Puppet, Jenkins and Review Board before software like this became mainstream. We had continuous integration/testing and an automated review / deployment process in place all based on bespoke software that I was a key part of developing.
The challenge at Transitive was how to test a product that could run any software, in an age where open-source DevOps tools were immature or non-existent. We built up a flexible development process and automated testing with a farm of over 100 machines and with our help the product was a huge success, resulting in acquisition by IBM in 2008.
BSc Computer Science, Honours first class
(Victoria) University of Manchester, 2003