Full-stack Developer2015 - PRESENTFreelance
Technologies: Behavior-driven Development (BDD), Codeship, Heroku, Docker, PostgreSQL, Vue, Ruby on Rails (RoR), Ruby
- Developed the initial technology for over a dozen startups and spinoffs, including Noiiz, Improve Your Accent, Commscanner, Care View, Gigappy, and Digital Urban.
- Created clean and maintainable code according to the principle of convention-over-configuration, leaving clients able to continue to develop in-house or learn skills themselves over time.
- Organized many training sessions to increase the technical skill level at clients, especially with the business owner and CTO.
- Developed public sector technology that went on to win many awards including a six-figure grant from the European Space Agency for further development.
- Created a blog post on the subject of building a progressive web app in Rails API and Nuxt.js that has become the most-read post on the subject and ranks high (or top) in Google searches for the topic.
Contract Ruby Developer2015 - 2016William Hill
Technologies: VMware, Puppet, Docker, Ruby
- Worked as one of three developers for a large devops team building out a complete internal PaaS-style cloud based on Docker.
- Used Ruby in its "other" popular use case, as a system operations language, both building database-backed infrastructure management software and directly as part of the Puppet DevOps system.
- Contributed a huge amount of code to the VMware vCloud libraries within the open-source Fog.io project, resulting in me being named the most valuable player for Fog.io 1.37.
Site Manager and Architect2010 - 2015Trend Micro
Technologies: Jenkins, Memcached, Puppet, RabbitMQ, MySQL, Go, Perl
- Held various manager and architecture jobs during this time, culminating in being placed in charge of the entire Leeds Development Centre.
- Ran a customer support engineering project for a popular consumer product.
- Served in a management and architecture position for a major cloud application with over 1 petabyte of data.
- Managed a team responsible for delivering a global realtime messaging system based on Go and RabbitMQ.
- Worked closely with the main development team in Taiwan, including many trips between the UK and Taiwan.
Lead Software Engineer2003 - 2010Transitive | IBM
Technologies: MacOS, HP-UX, Solaris, Linux, MySQL, Perl
- Developed a suite of DevOps software for an "untestable" product before DevOps was cool. The tech we built was similar to Jenkins, Puppet, and GitHub pull requests before any of those technologies existed.
- Worked at a very low level with a huge heterogenous farm of machines with different CPU architectures, running multiple flavors of Unix and Linux, getting to grips with the subtle differences between them.
- Worked as part of a team that developed software that ultimately shipped on every Intel Mac from their release in 2006 and every IBM System p server.