Full-stack Developer
2015 - PRESENTFreelance- 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.
Technologies: Behavior-driven Development (BDD), Codeship, Heroku, Docker, PostgreSQL, Vue, Ruby on Rails (RoR), RubyContract Ruby Developer
2015 - 2016William Hill- 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.
Technologies: VMware, Puppet, Docker, RubySite Manager and Architect
2010 - 2015Trend Micro- 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.
Technologies: Jenkins, Memcached, Puppet, RabbitMQ, MySQL, Go, PerlLead Software Engineer
2003 - 2010Transitive | IBM- 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.
Technologies: MacOS, HP-UX, Solaris, Linux, MySQL, Perl