Print

James Smith

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

James Smith
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
Languages Ruby JavaScript / TypeScript C++ C Java C# Python React Native Objective C Rust PHP
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

Experience

Solo Developer

Since early 2021, I have been working on a personal project; a web application to manage collections of 3d models, specifically aimed at 3d printing. In 2023, I applied for and won some grant funding from NLNet and NGI Zero, which enabled me to work on it full time for a while. The application is built in Ruby on Rails, with 3d rendering using THREE.js and Typescript. I’m developing it into a reliable tool that anyone can self-host, and that will be able to federate via ActivityPub to create a decentralized ecosystem for 3d model publishing.

London, UK

dxw is an agency that builds digital public services, in the open wherever possible, building on open source frameworks, tools, and standards.

Employee Trustee Sep 2021 - Dec 2023

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.

While in the role, I 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.

Lead Technologist Jul 2019 - Jan 2024

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.

London, UK

Head of Engineering

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:

Party Leader

Something New is a startup UK political party which puts across a vision based around technology, open source philosophy, and how collaboration could be a progressive political force for the 21st century.

The party makes all its policy in an open source fashion, via the OpenPolitics project (see below), and publishes all finance and candidate information as open data. The party stands candidates itself, and also acts as a model for other parties, showing how they can be more open.

I stood for election for the party in Horsham in the 2015 and 2017 general elections, and in the 2017 local elections. I also coordinate our volunteer team, lead development of strategy, and manage the party finances and compliance.

Founder

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.

London, UK

Head of Labs Nov 2014 - Apr 2017

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.

Web Developer Jan 2013 - Nov 2014

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.

Rails Developer

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.

Organiser

I founded and organised Cleanweb UK, a network of meetup groups around the UK focused on using web technology to fight climate change and other environmental challenges. At its peak, the London meetup group attracted over 100 attendees, and we had well over 1000 members in total. By bringing together sustainability experts and technologists, we helped people explore new approaches, including the creation of numerous successful startups directly because of the meetups.

London, UK

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.

Platform Evangelist Apr 2011 - Mar 2012

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.

Software Developer Sep 2008 - Apr 2011

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.

Technical Product Manager

Green Thing is a charity which uses inspirational content to encourage people to live a greener lifestyle. I acted as Technical Product Manager for the Green Thing website, which involved feature development, maintenance, management of regular content updates, and management of other developers (internal and external). The site was implemented in Ruby on Rails, XHTML and CSS, with a MySQL database backend. My time with Green Thing included a complete rebuild of the online offering, in which I was heavily involved both in implementation and conceptual design.

Leader

A website created to inform the general public of an obscure but dangerous piece of legislation that was being passed by the UK government in early 2006. This site grew rapidly from being simply a description of the problem, to a national grassroots campaign with 4500 supporters recruited purely by word of mouth (including MPs, MEPs and Lords). The website, implemented using XHTML, CSS, PHP and a MySQL database, included seamless integration of externally-hosted content (from both an external blog, and del.icio.us for link management), automated signup and statistics generation, and a “supporter map” using the Google Maps API.

The Carbon Diet was an advanced carbon calculator, which calculated daily carbon footprints for its users, and recommends actions they could take to reduce their carbon impact.

It also included social networking features to encourage people to engage with their carbon footprint on an ongoing basis. It was still running with a number of regular users until summer 2016, but has since closed down. The code remains open source.

Burgess Hill, West Sussex, UK

SEOS makes display systems for flight simulators and planetariums.

Software Team Leader Aug 2006 - Mar 2007

My role encompassed leading and managing a team of four software developers, ultimately responsible for all software delivered by the company. As well as day-to-day C++/MFC software development, this role required me to take a lead in software design, scheduling, solving resource conflicts, defining processes, as well as in people management.

I introduced a number of improvements to the process of software production at the company, with the introduction of a version control system (Subversion) and a bug tracking system (Trac), all using freely-available open source software solutions. These improvements, at no capital cost to the company, vastly improved the reliability and predictability of the software development team. I also drove improvements in the software release process, testing procedures (including the creation of a dedicated software QA position), and personal development within the team. I introduced various agile programming practices (including automated tools such as CruiseControl and CppUnit) with the aim of making the team more efficient and improving the quality of software releases.

Senior Systems Engineer Jul 2004 - Aug 2006

I was responsible for growing an existing software base of around 300,000 lines of C++/MFC code to become more flexible, more powerful, and more easily extensible. This included refactoring the core application design, the introduction of a generic message-passing architecture, and the creation of an XML-based protocol for networked communications.

I also worked on interfacing with custom-built and COTS video processing and display hardware, often using TCP/IP and RS232 communication protocols, and on automatic setup and calibration of both individual hardware elements and complete display systems, using computer vision techniques such as contour and shape detection.

Guildford, Surrey, UK

Principal Software Engineer

Employed as principal software engineer for a biometrics and computer vision company, specialising in face recognition software.

I was responsible for the product development side of the company, managing the creation of Linux-based end-user applications as well as internal research and development tools, using C++ with gcc. I was also responsible for dealing with clients at a technical level, being involved in the product design and development process from requirements analysis to maintenance and support of installed systems.

As the company’s first employee, I was also responsible for setting up and maintaining the company’s IT infrastructure, which seamlessly combined Linux servers and development workstations with Windows desktop systems for administration staff.

Guildford, Surrey, UK

Technical Director

Concurrently with my PhD research, I started and ran a small software engineering and consultancy company, specialising in 3D graphics application development, particularly for web-based applications. I was jointly responsible for product development, and also ran the day to day business affairs of the company.

The company worked on a number of projects, ranging from 3D scientific visualisation using C++ and VRML to web-based virtual environments using VRML and Java. Major clients included BT, for whom we developed game-related applications for their Millennium Dome body scanner, and Ove Arup & Associates, for whom we developed visualisation software for structural simulations. We also developed various end-user 3D applications using C++ and OpenGL, which allowed users to pose, animate, and modify human avatar models.

Guildford, Surrey, UK

MEng, Information Systems Engineering (2:1)

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.

Ipswich, Suffolk, UK

Secondary School

A Levels:

  • Electronics (A)
  • Maths (A)
  • Physics (A) + S Level (Merit)

Contact Details

james@floppy.org.uk
@Floppy@mastodon.me.uk
github.com/Floppy
floppy.org.uk
BB87 E90E 3A03 BA98 FD1E 7C43 BF20 545F D512 2D5D
@floppy:one.ems.host
mreb frira frira bar svir bar mreb svir guerr sbhe avar