Experience

Profile

  • 18+ years experience as a product focused software engineer with excellent analytical, communication and people skills.
  • Working across the full stack, with a deep passion for building high quality products, tools, APIs, and platforms.
  • As a very strong self starter I've led the development of many projects, taking them from 0 to 1. As well as taking on existing projects and nurturing them to a higher level of quality.
  • As a high functioning generalist, I strive to effectively and collaboratively combine product development, user experience (UX), and design with front-end engineering, API-driven software architectures, backend engineering, distributed systems, operations (aka DevOps) and agile processes.
  • Worked with a large range of technologies over the years: Ruby, Rails, Angular, VueJS, Nuxt, TypeScript, JavaScript, Scala, Java, Firebase, AWS, Google Cloud, Kubernetes, Docker, PostgreSQL, MongoDB, DynamoDB, ElasticSearch, Redis, MySQL, Linux, various CMSes, etc. and am constantly improving my toolkit and skills.
  • Top of the class on my Bachelors degree (Software Engineering) and over 80% on my Masters (Advanced Computer Science) project. A decade plus on and I'm still constantly learning, through people, books, blogs, courses, side projects and so on.
  • Enjoy mentoring and being mentored, and have significant experience hiring at many levels.
  • Overall, I am a curious, polite, well rounded and sociable individual, with keen interests in technology, music production, gaming, sports, science fiction and more.

Timeline

Founder

FullStacksDev • 2024 to now

fullstacks.dev

With FullStacksDev I help developers level up their skills by learning to build full-stack web apps end-to-end with pragmatic and curated tech stacks, through example apps. Focused on solo devs and very small teams.

Founder

TidyBrains Mentoring • 2024 to now

mentoring.tidybrains.com

Through TidyBrains Mentoring I provide highly personalised 1:1 mentoring, coaching and technical training for software developers.

Director

TidyBrains Ltd. • 2016 to now

tidybrains.com

Through TidyBrains I have provided software development, tech lead, technical product management, consulting, mentoring and technical training services to public services, startups, charities and small businesses.

I have led the development of many products, taking them from 0 to 1 (see below).

Now I'm focused on building my own products and services, and helping companies through personalised mentoring, training and consulting.

Sabbatical

Jul 2023 to Apr 2024

I took a sabbatical to spend time with my daughter, upskill, explore new projects and take a breather after an intense few years of contracting.

Tech Lead Consultant (Contract)

Our Future Health UK • Remote, UK • Dec 2021 to Jul 2023

Consulted and developed solutions across all platforms as we scaled up

Our Future Health will be the UK's largest ever health research programme, bringing people together to develop new ways to prevent, detect and treat diseases, with the aim to create one of the most detailed pictures we've ever had of people's health. I helped to scope out, design, build and scale platforms to support this ambitious goal.

For the participant platform, I consulted and provided support to the development and product teams, working with external partners, defining flows, writing code and generally filling in the gaps where needed.
- Tech stack: Node.js, PostgreSQL.

I also led the development of the v2 of the design system (based on the GOV.UK design system) working with the talented design team across all products.

For the researcher platform, I led the development team and built the first version of the researcher portal, working with external partners to ensure everything worked end-to-end, integrated with the Trusted Research Environment.
- Tech stack: Ruby on Rails, PostgreSQL, Heroku.

I also built the researcher website (https://research.ourfuturehealth.org.uk/, working closely with the product and content teams to ensure a smooth and effective content management experience.
- Tech stack: Storyblok CMS, Eleventy, Netlify.

Senior Software Engineer (Contract)

Mindful Chef • Remote, UK • Jul 2021 to Nov 2021

Focused on core backend and product features

Helped deliver product and backend improvements to the Mindful Chef service, to launch new features and scale the business.

Tech Stack: Ruby on Rails, PostgreSQL, Next.js, React.

Senior Software Engineer (Contract)

Department for Education (DfE) • Remote, UK • May 2021 to Jul 2021

Maintained the "Get Help with Tech" platform

Worked on the "Get Help with Tech" programme - providing laptops and internet access to disadvantaged children and young people during coronavirus (COVID-19).

Tech stack: Ruby on Rails, PostgreSQL.

Software Development & Technical Product Management services (contract)

Real World Outcomes • Remote, UK • Aug 2020 to Apr 2021

Built the Fever Free Zone platform

Built and launched the pilot Fever Free Zone app and platform for large scale temperature assessments, to support the Covid-19 response and get businesses back up and running faster.

Tech stack: Angular, Ionic, Firebase, Google PubSub, Google Big Query.

Tech Adviser, Software Development & Technical Product Management services (contract)

CHAYN • Remote, UK • Oct 2018 to Dec 2020

Built a couple of products from scratch

Built and launched the Your Story Matters (YSM) service - https://ysmysm.co/ - a companion app for survivors of sexual assault, providing resources, support and guidance.
- Tech stack: ReactJS, NestJS, Firebase, Heroku.
- Code: https://github.com/chaynHQ/ysm, https://github.com/chaynHQ/ysm-backend, https://github.com/chaynHQ/yana-prototype

Built and launched the Soul Medicine platform - https://soulmedicine.io - a multilingual service to deliver critical information through bite-sized notes (via email), especially for women experiencing abuse, especially migrant and refugee women.
- Tech stack: Ruby on Rails, VueJS, PostgreSQL, Storyblok, Heroku.
- Code: https://github.com/chaynHQ/soulmedicine

Software Development & Technical Product Management services (contract)

Appvia • Remote, UK • Apr 2018 to Jan 2020

Built a proof-of-concept PaaS

Built the first version of the open source Kubernetes-based Appvia Hub product to help developers in organisations work more effectively and in a streamlined manner, in an ever-changing DevOps and software delivery world.

Tech stack: Ruby on Rails, PostgreSQL, Kubernetes

Also continuing on with the development and maintenance of the open source Application Container Platform (ACP) Hub - https://github.com/UKHomeOffice/platform-hub - at the UK Home Office.

Software Development & Technical Product Management services (contract)

OpenOwnership • Remote, UK • Sep 2017 to Dec 2018

Productionised and further developed the OpenOwnership Register

As the sole developer during this time, I took the OpenOwnership Register - https://register.openownership.org - from an alpha stage to production, building a robust framework for data modelling of ownership data, data imports, search and other platform capabilities.

Tech stack: Ruby on Rails, MongoDB, ElasticSearch, Heroku

Platform Developer Lead Consultant (contract)

UK Home Office • London, UK • Dec 2016 to Nov 2018

Built tools and services for the central hosting platform

Built the open source Application Container Platform (ACP) Hub: https://github.com/UKHomeOffice/platform-hub - providing self-service tools and services for a Kubernetes based central hosting platform, used across various projects in the Home Office.

Tech stack: Ruby on Rails, AngularJS, PostgreSQL, ElasticSearch, Kubernetes.

Platform and DevOps Consultant

Digital Catapult • London, UK • Nov 2016

Helped define a containerised platform for project delivery

For a 2 week consultancy, I worked with project teams at the Digital Catapult to define and establish a platform for running containerised services in Kubernetes clusters. Covering best practices for application development using microservices, CI and container-based packaging, I took one of the projects as a proof of concept and delivered a running instance within a Kubernetes environment. This helped inform the company's future operations and provided better practices for project delivery across the company.

Senior Software Developer

Space Ape Games • London, UK • Apr 2015 to Nov 2016

Built high quality and sustainable mobile games and live operations tools

As a server engineer on various game teams (Samurai Siege, Rival Kingdoms and then Transformers: Earth Wars) I built out core backend features in a scalable and dependable fashion (using Scala, DynamoDB, Redis, etc.), as well as driving the development of content management and live operations tooling across the company, playing a huge part in the live success of the games.

Led the web architecture revamp for all live operation tooling across games, creating a consistent and solid foundation and ensuring all existing games were ported to the new framework, whilst sharing knowledge and training with colleagues along the way.

Worked closely with product, frontend and DevOps teams, using agile techniques, to ensure we iterated rapidly and delivered effective solutions for our user base in a timely and well-managed fashion.

Transitioned on to leading a “tooling track” initiative across all games, providing tooling support and accelerating the development of tooling in a consistent manner across the company.

Senior Software Developer

State (state.com) • London, UK • Oct 2011 to Dec 2014

Built a global “opinion network”

As an early engineer I played a major role in iterating on early prototypes and then helped build a solid and high quality production platform and set of products which we launched to a global audience and continually improved.

For my last major project, I worked closely with the DevOps lead and backend team to migrate the largest backend pieces (the core Ruby on Rails API service, background jobs, queue consumers and admin interface) to a fully containerised environment - running Docker containers on CoreOS clusters, powered by fleetctl, and using etcd for distributed configuration management.

In a fast moving and highly collaborative environment, I contributed to significant parts of the architecture, data stack, backend, APIs and frontend, touching pretty much every aspect - from building rich UI components and interactions (Javascript, SASS, HTML5) to backend API implementations (Ruby on Rails, Sinatra, NodeJS, Java), as well as cultivating the data models, interfaces and stores (MongoDB, Redis, ElasticSearch, Hadoop) and some DevOps support (AWS, CoreOS, Docker).

This seriously hands-on level of engineering was only possible through working closely with the design and product teams, communicating effectively and taking a very balanced and pragmatic approach to delivering quality but not over-engineered solutions.

I helped foster a culture of collaboration and quality, with time spent on effective (but not necessarily complete) test coverage, employing continual code reviews, reflecting on our processes and generally working well as a company.

Involved in hiring at many levels, from the new CTO to a superb junior team member that I personally mentored and helped develop into a highly effective all rounder.

Software Engineer / Research Associate

myGrid research group, University of Manchester • Manchester, UK • Oct 2007 to Sep 2011

Built software for scientists / researchers

Established myself as a core member of one of the prime consortiums to drive e-Science worldwide, building open services/software for scientists and researchers, mainly in bioinformatics, astronomy and cheminformatics.

Gained significant experience in web application development, service oriented architectures, data modelling, knowledge capture, knowledge representation, social collaboration, curation and sharing.

Played key roles in the following projects: BioCatalogue, myExperiment, Taverna, Wf4Ever (EU funded).

Handled large amounts of responsibility: building open source software; managing services; working closely with stakeholders; promoting projects (presentations/networking at conferences/events); and handling collaborations.

Managed and mentored two student interns on their placement years at myGrid. Then helped supervise their final year projects in which each gained the award for the best project mark in their course. Both also went on to achieve high First Class degrees and one went on to win best overall student award.

BioCatalogue (https://www.biocatalogue.org/):
- Architected and developed much of the backend system (Ruby, Rails, MySQL, memcache, SOLR), the Web interface (HTML, CSS, Javascript) and the REST API (XML, JSON).
- Worked closely with the service providers and service consumers community to understand the needs of a next generation curated registry of Web Services.
- Presented the BioCatalogue at key events like ISMB '10, ISMB '09 and the DILS/ENFIN workshop (2010).

Taverna:
- Worked on a next generation workbench for the Taverna workflow system.
- Utilising technologies like Java, Eclipse RCP, JRuby, OSGi and Spring.

myExperiment (https://www.myexperiment.org/):
- Designed and implemented the Web interface and some key features, working closely with the user community to derive requirements and assess usability.
- Heavily involved in the key strategic decisions driving the project and in outreach for the project (through presenting at conferences and events).

Junior Developer

MPP Global • Manchester, UK • Jun 2006 to Sep 2006

Put in charge of the MPP iShop e-Commerce platform (Microsoft .NET), developing bespoke and off the shelf e-Commerce solutions for clients. As part of this, was responsible for the continual maintenance and improvement of the platform.

Developed a complex batch data import tool for the import of vast amounts of client data (audio, video and other file types) into the MPP systems.

Developed a reverse auction engine to power the www.humraz.com site and built the site on the MPP iShop platform with custom functionality.

Put in charge of the ICC Cricket World Cup 2007 West Indies website, providing maintenance, bespoke work and content support, liaising with the West Indies staff on a regular basis.

Software Development Engineer

Microsoft Network (MSN) • London, UK • Jul 2004 to Jun 2005

Internship at Microsoft as an industrial placement year for my BEng degree

Main role was to provide content support and develop custom solutions for MSN EMEA Portals. This required working closely with internal and external clients to deliver compelling web based micro applications, ads, pages and so on.

Successfully designed, developed, deployed and managed a robust large scale data and feed processing system used in fetching content for many parts of the MSN UK portal, including powering real-time data for the 2005 UK General Elections map as results were coming in.

Achieved the full MCSD for .NET qualification whilst on placement.

MSc Advanced Computer Science with ICT Management

The University of Manchester • 2006 to 2007

Achieved 81% for MSc Research Project - "SPExperiment: Exploiting an Enterprise Platform for e-Science".

Awarded Merit overall.

BEng Software Engineering (with Industrial Experience)

The University of Manchester • 2002 to 2006

Top of the class

First class honours

Achieved 78% for BEng project - "An Intelligent Feed Aggregator"