I am a senior technologist with experience in leading innovative development teams across many languages and technologies. I specialise in team building and leadership, client and developer relations, and software architecture, design and development. I am a passionate believer in the power of the web, open standards, open source, and open collaboration to change the world for the better.
This CV has been reduced for printing. For a complete up-to-date version, visit https://floppy.org.uk/cv
|Leadership||Agile team leadership Open source collaboration Scrum Kanban Strategy Mentoring Public speaking Training Technical sales Client relations Budgeting Proposal writing|
|Technologies||Open data API design Information architecture Virtual reality 3D graphics Machine learning Computer vision Blockchain|
|Web||Rails Sinatra Node.js Express HTML CSS Sass jQuery Jekyll OpenAPI / Swagger XML VRML WebGL three.js|
|Design||Serverless Microservices HTTP REST HATEOAS SOA OOP UML Design patterns|
|Platforms||Linux OSX Windows iOS Heroku AWS Google Cloud OpenStack|
|Databases||MySQL MariaDB SQLite PostgreSQL PostGIS Redis MongoDB Elasticsearch|
|Tooling||Git GitHub Subversion Kubernetes Chef RVM rbenv Passenger Apache nginx make JIRA|
dxw is an agency that builds digital public services.
My role as a Technical Architect is to work with our delivery teams, often in discovery and alpha phases, to help shape the technical approach for a project. This ranges from technical discovery work with a client to understand their challenges, to helping our developers design their solutions. I have worked on projects with public sector clients including Hackney Council, the Maritime and Coastguard Agency, the Courts and Tribunals Judiciary, and HM Prisons & Probation Service.
dxw works in the open wherever possible, and all our solutions are built on open source frameworks, tools, and standards.
I also line manage some of our technical team, and have helped define a professional development framework for our engineers.
Apolitical is a platform for public servants to connect and share what’s working in government. As the first in-house technical hire, I built and led an engineering team (4 people by the time I left) that created Apolitical’s web platform. My role was a combination of hands-on coding, strategic architectural work, and engineering team management.
My role involved evolving the Apolitical service from a monolithic prototype to scalable microservices managed with Kubernetes. The microservices were built in a variety of languages as appropriate for the task at hand, including Node.js, Rust, Python, and some legacy PHP. Frontend development used React, Redux, and a styled components approach. We also used serverless functions, and API integrations with many third-party services.
Short-contract freelance technology work for a range of clients. Projects included:
OpenPolitics is a project exploring how open source ideas and methods can be used in the world of politics. It started as a project to write an alternative manifesto in an open source way on GitHub; the manifesto has since grown to over 50 pages long, and has been written by over 50 contributors, many of whom are non-technical and unfamiliar with the underlying platform.
I created a user-friendly interface for editing manifesto content on GitHub, creating pull requests and so on. The interface also implements a voting system to ensure democratic control of proposals and merging.
I led the ODI’s agile research & development (Labs) team, which explored new ways for organisations to publish, find, and consume data, both open and closed. Under my leadership, the team developed numerous tools including Octopub, a tool to help users publish high-quality open data for free, and delivered a number of large research projects.
My role involved day-to-day team leadership and line management, but also developing programme strategy, finding clients and projects, working with project managers to deliver work, and managing a total budget of around £0.5 million.
During this time I was the technical author for the “Data Sharing and Open Data for Banks” report for HM Treasury, which made recommendations that led to the creation of the UK Open Banking standard. I also authored an influential report on blockchain technologies and their role in data infrastructure.
I am also an ODI registered trainer, and have delivered public training courses on technology topics including git/GitHub, and blockchains.
I was a founder member of the agile development team at the ODI, building internal and external software to support the aims of the ODI and promote Open Data adoption. Our external-facing tools included Open Data Certificates, a tool to help data publishers assess the quality of their data releases, and CSVlint, a tool for validating CSV files for machine-readability. We also developed internal dashboards for key company performance metrics, which were later developed into an open source dashboarding tool called Bothan.
I was contracted to help build a homebuyers research site based on a wide range of open data. This involved building custom data cleaning pipelines, importers, and API clients, as well as backend and frontend development with Ruby on Rails.
AMEE was a platform company that provides access to environmental data and standards. The main product of the company was a RESTful API for carbon calculation, which has been used by many major clients including DECC, BP, and Google.
As Platform Evangelist, I was responsible for promotion of our service to developers and others outside the company. This involved creating new demonstrations of our service (including, notably, integration into the game Minecraft), creation of innovative new services such as AskAMEE, and representing our service at external events such as conferences or hackdays. I am also responsible for maintaining much of the collateral that helps developers use our API, including examples, blog posts, client libraries, screencasts and so on.
In this role, I was the organiser of the London Green Hackathon in January 2012, which saw around 80 developers coming together to create new sustainability-related apps or services, and kickstarted a new cleanweb meetup community in London.
Responsible for much of the company’s frontend development work, including the award-winning environmental search engine AMEE discover, and a number of successful applications for external clients.
During my PhD research, I developed a method of using densely scanned 3D surface data in realtime animation systems, using a layered approach including skeletal animation and displacement mapping techniques. My full thesis is available for download.
Other publications included:
A combination of electronics and software engineering, my degrees gave me an overview of the full stack of computer technology, from semiconductors to web development. Specific subjects included numerous programming languages and techniques, computer architectures, network protocols, and machine intelligence. My third and fourth year projects explored AI and robotics, in the areas of game playing and pathfinding.