Curriculum Vitae
Personal Profile
I am a Principal/Staff software engineer, technical leader/consultant with a holistic approach to Systems, DevOps and software delivery. This includes software development itself, architecture, continuous delivery, reducing duplicated effort and the human side of how teams ship changes safely at pace.
My primary experience is in Java or Python backends in web development stacks, but I also thrive in polyglot contexts and can be a generalist when needed. I have expertise in Cloud Native systems, AWS, GCP, Docker, Kubernetes and full automation of delivery and deployments (CI/CD) with extensive experience in infrastructure-as-code and Platform Engineering.
I have domain expertise in Search, delivering high traffic web frontends, analytics, data pipelines and platform migrations.
Skills
Expert
Agile, AWS, BDD, Continuous Delivery, Cucumber, DevOps, Flask, Git, Java, Jenkins, Kanban, Linked Data, Maven, Python, Quarkus, RDF, REST, Scrum, Spring Boot, SQL, Systems Thinking, TDD, UML
Advanced
Apache Spark, AWS Glue, AWS Lambda, DevOps, Django, Docker, Elasticsearch, GNU Make, Gradle, Jupyter, Kubernetes, LaTeX, Linux, Node.js, OpenSearch, PostgreSQL, Quart, RabbitMQ, Scaleway, Serverless, Solr, SPARQL, Terraform/OpenTofu, Terragrunt
Intermediate
ActiveMQ, FastAPI, GCP, Haskell, Kafka, MongoDB, PostGIS, Prolog, Redis, Ruby, Selenium, Soft Systems Methodology, Typescript
Novice
Clojure, Grafana
Work Experience
Staff Software Engineer at BridgeU: 2024-05 to present
-
Hired initially to lead Backend Chapter and drive through a “Tech Transformation” strategy to break a Ruby monolith into Python FastAPI services for a new Svelte app.
-
Worked with Python (FastAPI), Typescript (Svelte), PostgresQL, AWS Document DB, data pipelines, Ruby (Rails).
-
After a series of leavers in engineering leadership, I took a more holistic view to drive all of backend, frontend, data and platform initiatives from a technical leadership approach to empower other engineers but also lead architectural change and strategy.
-
Lead a transition from a Spotify-style “chapter” model for disciplines to a “guild” model to encourage collective decision-making and empower engineers to shape architecture and technical choices.
Lead Software Engineer at INRIX: 2022-12 to 2024-04
-
Lead role across 2 teams distributed between Manchester, UK and Kirkland, USA (8 reports).
-
Built standard deployment platform on Kubernetes (AWS EKS), Quarkus, Terraform, Github Actions.
-
Developed standardised way to provision (via Terraform) Kubernetes across the company with monitoring and observability baked in.
-
Mentored on Continuous Delivery, infrastructure as code and DevOps.
-
Built event-driven traffic alerting using Kafka, RabbitMQ and Reactive Java (Quarkus).
-
Innovated Python project for applying BDD to an AI/LLM-based project.
Principal Software Engineer at BBC North: 2015-06 to 2022-12
-
Technical leader on highly-available Node.js and Spring Boot APIs used by whole BBC website.
-
Mentoring and leading on projects to promote knowledge sharing.
-
Drove architecture and data modelling for a unified approach to website analytics collection.
-
Developed lightweight feature flag mechanisms to allow instant rollout of visual changes while allowing stakeholders and designers to see changes privately in situ any time.
-
Developed and then promoted a unified approach to CD (Jenkins) and deployments (AWS Cloudformation) across 30+ services between up to 4 teams.
-
Led on Python tooling for automating deployments, common infrastructure patterns and testing.
-
Developed and led on a federated network of dashboards in Python (Flask, aiohttp).
Senior Software Engineer at BBC North: 2012-02 to 2015-06
-
Developed event-driven data pipelines with Java (Jersey), Apache Camel and ActiveMQ.
-
Built tooling in Ruby and Cucumber to drive projects via BDD and TDD.
-
Created a system similar to Docker Compose (but pre-dating that and using Tomcat as the container) for running services and dependencies during builds for full integration testing.
Contract Software Engineer at BBC Cymru Wales: 2010-12 to 2012-02
-
Building data aggregation services in Java (Spring MVC)
-
Contributed to some front end in PHP and JS on the BBC Home page.
-
Creating geospatial BBC Weather search using Solr and PostGIS
Systems Developer at Cranfield University: 2007-04 to 2010-06
- Building in-house Java solutions to connect various systems in the IT department.
Fundraiser at Tim Lilley Fundraising: 2005-10 to 2006-12
- House to house fundraiser on behalf of Amnesty International.
Tester at Transversal Corporation: 2005-07 to 2006-02
- Manual and (Python) automation tester for a web-based software product.
Tester at Level 5 Networks: 2004-07 to 2004-09
-
Performance testing for a new Ethernet card and drivers on both Linux and Windows.
-
Created via bash scripts an early version of what today would be called Continuous Integration.
Education
MSc Software Engineering at University of Bradford (2016)
-
MSc in Software Engineering and Internet Architecture.
-
Awarded by Bradford, run in conjunction with the BBC.
-
Passed with distinction.
MA Computer Science at University of Cambridge (2005)
-
MA (Hons) (Cantab) in Computer Science.
-
Passed an intermediate German via University of Cambridge Language Centre.
Further Education (2002)
- A grade in each of A-Level Mathematics, Further Mathematics, German and Physics.
- B grade in AS-Level French.
- STEP I Mathematics with grade 1
- STEP Physics with grade 3.
GCSEs (2000)
- 9 GCSEs including A* in Sciences, German and French.
- A in English Language.
- A grade in an Additional Mathematics qualification
GCSEs (1999)
- A* grade in Mathematics
Interests
-
Traditional music including playting Bodhrán and Tin Whistle
-
Karate
-
Wine (WSET 2 qualified)
-
Real Ale (CAMRA member)
-
Computer Science, Category Theory, Pure Mathematics, Philosophy
Publications
- Fenning, R., Dogan, H., Phalp, K. (2014). Applicability of SSM and UML for Designing a Search Application for the British Broadcasting Corporation (BBC).