Clients

Entier / YNAP Group

2015 - 2017

Working between London and Italy with a large e-commerce client to help them transition from a mixed OS infrastructure to a linux based cloud infrastructure, rolling out several large scale java/oracle software platforms (from IBM). This has involved setting strategies for CI/CD, implementing complicated deployment pipelines from scratch, creating detailed and high level specifications & designing and implementing a global CI platform for all companies in the group with a heavy focus on pipelines as code and containerisation.

NDA Projects

2010 – Present

We have been involved with several projects, some ongoing that cannot be mentioned here by name. Technologies used have mostly been focussed on high concurrency, high availability and high speed data processing. As part of this modern deployment systems were required and wrapping academic libraries for modern tooling. Containerisation has featured heavily with clustered deployment using Docker Swarm & Kubernetes. Most of the code for this has been in ruby(on JRuby) and Elixir/Erlang OTP.

BorrowMyDoggy.com

2015 – 2015

Helping this wonderful company to grow their rails on heroku stack and implement an iteration on their app api, and playing with puppies of course, lots of puppies.

The App Business

2014 – 2015

Mainly http apis, data munging, devops, feed mechanics with a big chunk of code restructuring while working with an agency and with their clients. Apart from cleaning up the underlying systems, we also set up in-house CI that took the code not only through build and tests, but code linting and security checks before passing on to the clients integration and build service and finally to deployment on AWS.

Lonelyplanet.com

2013 - 2014

Cross platform development working on backend systems for site. Major focus on API to elastic search and rails integration. Primarily ruby work on Amazon cloud infrastructure but some forays into some odd things like natural language processing and geo data collation mixed with finding the best way to clarify the location of a town named Europe in Europe.

NET-A-PORTER.COM

2012 - 2013

Building up and expanding a ruby based test automation framework for end to end testing of all in-house applications across several different technology stacks. Primary goal to reduce man hour consumption of regression testing but also to provide tools to the other areas of QA. Mainly written in ruby (using cucumber, capybara, nokogiri, selenium, chromedriver, rspec, activerecord, and some deep dark trickery to make it all work together nicely). Also involves perl to provide gluey APIs to already existing application and test stacks to facilitate the above (using dancer, moose and ActiveMQ stuff). Tool creation for manual testers lays on top of this framework and will provide a web interface for common tasks and automation of many repetitive tasks in a user friendly way (using sinatra, unicorn/puma, and a bunch of RESTful apis in the test suite). Continuous integration done on Jenkins with pipelined workflows for deployment and testing. This role is focussed on integrating with many teams on multiple projects and involves many discussions to integrate automated testing in the development workflow of a large team.

DigiResults Ltd

2011 - 2012

This was mostly a Ruby job with a smattering of PHP on the side and a dollop of C#. Mainly Rails, some wordpress, and integrating with a bunch of gnarly APIs including Paypal and mailing systems.

NET-A-PORTER.COM

2010 - 2011

Development of in-house systems using modern OO perl, moose, catalyst, dbix::class, jquery, git on virtualised linux infrastructure in an iterative agile/scrum environment. Focus on both upgrading the current system and ensuring high uptime and process optimisation for business critical application. Also included some frontend code, heavy interaction with many areas of the business and, bizarrely, fire drills

Whittard of Chelsea

2006 - 2010

Travelling through a lot of the business our director ended up running IT, from store staff via customer care, buying, merchandising, operational IT and system administration to development and budgeting.