This is a printed copy of my CV. Please see http://elliot.cm/cv for the canonical HTML version.

Curriculum Vitae

Summary

A software contractor living near London, England, I have well-rounded expertise in all areas of web development.

I've been building commercial websites for clients for 12 years, with the last 10 spent working with Ruby on Rails.

I've been a back-end developer, front-end developer, team lead, department head, and a startup CTO, meaning I can fit in well in most teams and take on a wide variety of work. I have no problem coming up to speed with new languages and technologies.

I've spoken at several conferences and enjoy mentoring new developers.

I can be contacted at elliot.cm@gmail.com to discuss availability, though please be aware I'm usually booked up several months in advance for large projects.

Employment history

References are available on request.

Government Digital Service (GDS)

Senior contract developer - April 2018 to current

Back for a second tour helping gov.uk's development team, this time working with their Platform Health team pay down tech debt and improve the stability of the publishing platform.

Almost all the code I've written for GDS is public, and is available on Github .

FreeAgent

Data Platform contract developer - November 2016 to April 2018

This role involved working with FreeAgent's analytics team to improve the robustness of their data warehousing across the business, and assisting their accountancy practice support team with ongoing maintenance.

It involved:

  • Kickstarting a new data platform team as the sole backend developer.
  • Adding features to their existing data warehouse application.
  • Refactoring and paying down tech debt in their data warehouse and in the event tracking code of their main monolith.
  • Architecting a new data pipeline to encompass more data sources, new data analysis platforms, and provide greater flexibility of data processing analysis.
  • Producing documentation and proofs of concept to support the new architecture.
  • Implementing parallel transport of events over Kafka and RabbitMQ.
  • Introducing Avro schemas for a variety of event types.
  • Learning Java and building several stream processing applications using the Kafka libraries.
  • Onboarding a new tech lead to the team and handing over relevant responsibilities.
  • Creating Puppet providers, modules, roles and configuration for clustered Kakfa, Zookeeper, and Avro schema registries.
  • Provisioning and releasing the clusters to production along with comprehensive JMX monitoring.
  • Instrumenting large sections of their monolith application to provide data for analysis.
  • Assisting with ongoing maintenance of their accountancy practice backend.
  • Business As Usual feature building and support.

Government Digital Service (GDS)

Senior contract developer - September 2013 to September 2016

I have spent the last 3 years working on a number of projects for GDS, including:

  • Moving hundreds of government agencies over to GOV.UK as part of the Transition project.
  • Building out GOV.UK's "search and browse" functionality with new ways of publishing browse pages and extra internal tools.
  • Preparing GOV.UK for all eventualities ahead of the 2015 general election as that was the first time the site had ever gone through a change of government.
  • Helping GOV.UK's "publishing platform" team combine various internal publishing systems into one unified publishing pipeline.
  • Providing technical leadership for a newly formed team looking at how GOV.UK handles email subscriptions, digesting, and other notification services.

Almost all the code I've written for GDS is public, and is available on Github .

LoveThis

Principal Engineer - June 2013 to August 2013

During my time at LoveThis I took on an interim role managing their transition to a new in-house development team.

I was also responsible optimising the hardware stack, with monthly costs reduced by 80%, as well as leading the design, build, and analysis of a series of rapid prototypes and A/B tests.

My involvement wrapped up with the arrival of a technical director for the group and the completion of a well-established product and design team.

Reevoo

Head of Research & Development - May 2012 to May 2013

In May 2012 I founded an R&D department within Reevoo with a remit to inexpensively define and investigate future product and incremental improvements to existing products.

The role involved aspects of hands on development, product management, project management, and team management, including:

  • Managing a multi-disciplinary team to define, build, and analyse product improvements. We built quick, we learned fast, and we passed the successful ideas on to the main development team to be built in a scalable, secure, and accessible manner.
  • Leading the integration of technical partners after vetting their product offering against our requirements, as partnering with good suppliers takes the load off the dev team.
  • Testing the viability of client suggestions and requests, providing suggestions if their requests can be implemented with the current product. We didn't want to build something just for one client, or accidentally build something twice.

The legacy of the R&D team includes a large-scale analytics architecture, Reevoo's first dynamic in-store integration, a fully-functional Platform API, and, most importantly, a more sustainable way of thinking about taking new products and features from concept to execution.

Forward Internet Group

Front-end Developer - December 2011 to May 2012

The Advice & Innovation group built and supported uSwitch's personal finance products while creating innovative tools and products throughout the organisation.

The role involved:

  • Working within a multi-disciplinary team of developers, designers, finance, commercial, and PPC specialists.
  • Leading front-end development within the Advice & Innovation group and in tandem with other front-end developers across the business.
  • Defining and implementing a good user experience for our products.
  • Ensuring compatibility and accessibility for our target audiences.
  • Working to ensure good agile processes within the team.

Reevoo

Developer & Maker of Things - June 2010 to December 2011

As a developer within Reevoo I worked on all aspects of product development, including:

  • Working in a team of 6 developers to build and improve the full stack of our B2B, B2C, and internal applications, serving hundreds of millions of impressions per month.
  • Improving the Agile development process with the CTO and the VP of Consumers.
  • Helping out with the running of hack weeks.
  • Working closely with the Head of Design to improve the user experience and create accessible interfaces.

Eden Development (offline at time of writing)

Developer - April 2009 to June 2010

Before its closure, Eden Development was an agile web development agency which specialised in Ruby on Rails. My work there included:

  • Working with our designers and the client to define scope and estimate work.
  • Building full-stack applications with aspects from system architecture to front-end animation.

I left Eden with a thorough knowledge of Ruby and the ability to work well in, and occasionally lead, a diverse development team.

O'Neill Modern Media

Technical Manager - June 2006 to October 2008

O'Neill Modern Media is design agency which specialises in print, web, and LED advertising. I was the Technical Manager for OMM for two and a half years, which comprised:

  • Planning and building websites for clients.
  • Managing the IT needs of the 50-strong company.
  • Overseeing the installation and running of animated pitch-side advertising boards at 9 Premiership football clubs, including Spurs and Manchester United.
  • Acting as primary contact for technical and marketing heads at the clubs.

Education

University of Westminster

BSc, Artificial Intelligence (2:1 hons)

Bacup & Rawtenstall Grammar School 6th Form College

Computing, Geography, Chemistry, Art & Design

Bacup & Rawtenstall Grammar School

9 GCSEs at A* to C grades