Curriculum Vitae
Personal Profile
Principal-level software engineer with 21+ years experience in backend, platform engineering, technical leadership, distributed systems, DevOps and software delivery. I specialise in building high-throughput APIs, platform capabilities and delivery systems that help teams ship safely with less cognitive load.
Strong Java and Python background, with experience across CI/CD, cloud infrastructure, data pipelines, search, AI/ML and developer enablement. I bring a platform-as-product mindset: standardising where it creates leverage, improving DevEx, and aligning technical choices with business outcomes.
Skills
Expert
Agile, AWS, AWS Lambda, BDD, Continuous Delivery, Cucumber, DevOps, Elasticsearch, FastAPI, Flask/Quart, Git, Java, Kanban, Linked Data, Python, Quarkus, RDF, Search (TF-IDF, BM25, HNSW), Search Relevance Tuning, Spring Boot, SQL, TDD, Terraform/OpenTofu, UML
Advanced
Agentic AI, Apache Spark, AWS Glue, BigQuery, Django, Docker, Federated Authentication, GCP, Helm, Information Theory, Jupyter, Kubernetes, Langchain, LaTeX, Linux, LLMs, Lucene, MongoDB, Node.js, Ollama, PostgreSQL, RabbitMQ, Solr, SPARQL, Terragrunt
Intermediate
ActiveMQ, Haskell, Kafka, Prolog, Redis, Scaleway, Soft Systems Methodology, TypeScript
Novice
Clojure, Grafana
Work Experience
Senior Software Engineer at Roku: 2026 to present
-
Joined team building back office finance systems in Java and Python (Airflow)
-
Led on strategy for sharing finance data for analytics purposes
-
Contributed to improving DevOps and Continuous Delivery capabilities for Agentic AI development
-
Championed unifying team’s approach to Terraform and infrastructure
Staff Software Engineer at BridgeU: 2024 to 2025
-
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 management to prove improvements in velocity and continuous delivery due to transformed architectures.
-
Tech: Python (FastAPI), TypeScript (Svelte), PostgreSQL, DocumentDB, data pipelines, Ruby (Rails).
-
Introduced embedded search (Lucene and Whoosh) in APIs suitable for small data use cases, e.g. university search that factors in user preferences, academic strength and marketing requirements.
-
Departure of other Staff Engineers made me de facto lead on Platform Engineering, DevOps and Data Engineering as well as Backend and Architectural Lead.
-
Led 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 to 2024
-
Lead role across 2 teams distributed between Manchester, UK and Kirkland, USA (8 reports).
-
Built a standard Java service deployment platform using Kubernetes/EKS, Helm, Terraform, Quarkus and GitHub Actions.
-
Mentored engineers on Continuous Delivery, infrastructure as code and DevOps practices.
-
Built event-driven traffic alerting using Kafka, Elasticsearch (around 1 billion data points), RabbitMQ and Reactive Java (Quarkus).
-
Contributed to a company-wide AI project feeding data into LLMs.
-
Innovated Python project for applying BDD to AI apps with local LLMs for testing.
Principal Software Engineer at BBC North: 2015 to 2022
-
Principal technical leader for Node.js and Spring Boot API platforms used across the BBC website: 50+ internal clients, up to 15k requests/sec.
-
Continued to work on Search technologies with broadening into analytics and micro-frontends.
-
Mentoring and leading on projects to promote knowledge sharing across up to 4 teams of engineers.
-
Drove architecture and data modelling for a unified approach to website analytics collection.
-
Developed lightweight feature flag mechanisms for previewing large-scale branding changes.
-
Drove unified CD/deployment approach across 30+ services and 4 teams using Jenkins, Python tooling and Elasticsearch metrics.
-
Built Python tooling for deployment automation, common infrastructure patterns and testing, reducing friction for teams operating shared service platforms.
Senior Software Engineer at BBC North: 2012 to 2015
-
Primarily working on Search product with Solr, some bespoke APIs and some low-level Lucene.
-
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.
Contract Software Engineer at BBC Cymru Wales: 2010 to 2012
-
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 to 2010
- Building in-house Java solutions to connect various systems in the IT department.
Fundraiser at Tim Lilley Fundraising: 2005 to 2006
- House to house fundraiser on behalf of Amnesty International.
Tester at Transversal Corporation: 2005 to 2006
- Manual and (Python) automation tester for a web-based software product.
Tester at Level 5 Networks: 2004 to 2004
-
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 (Distinction) in Software Engineering and Internet Architecture.
-
Awarded by Bradford, run in conjunction with the BBC.
-
Dissertation: Improving content discovery through combining linked data and data mining techniques
MA Computer Science at University of Cambridge (2005)
-
MA (Hons) (Cantab) in Computer Science.
-
Dissertation: Vector-based music search to generate playlists from qualitative descriptions
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 playing Bodhrán and Tin Whistle
-
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).