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 abbreviated for printing. For a complete interactive 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 Django React HTML CSS Sass jQuery Jekyll OpenAPI / Swagger XML XSLT VRML WebGL three.js WebSub ActivityPub OAuth|
|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 MarkLogic|
|Tooling||Git GitHub Kubernetes Chef Apache nginx make JIRA Ansible Terraform|
dxw is an agency that builds digital public services, in the open wherever possible, building on open source frameworks, tools, and standards.
In 2021, dxw became employee-owned through sale to an Employee Ownership Trust, which became the majority shareholder of the company. The trust ensures that dxw is run for the benefit of all employees, and that it remains true to its values. Two employees are elected to become trustees, providing a direct employee voice at the ownership level, and I was honoured to be chosen by my colleages to be one of the first to take the role.
Since taking on the role, I have helped put in place new governance structures for the EOT, helped form and guide a staff council, and provided feedback and direction to our executive board from the employee’s point of view.
My role as a Lead Technologist 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. The project I’m most proud of though, is the Find Case Law service from The National Archives, which I helped pitch for, win, and then design and deliver on a very tight deadline, using unfamiliar technology.
I also line manage some of our development 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.
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.