Curriculum Vitae
Personal Profile
I am a software engineer with 21+ years experience working at Principal level, with deep experience in technical leadership, distributed systems, DevOps and software delivery, including the human side of delivering value at pace.
My primary experience is in Python or Java backends as well as platform tooling and data pipelines. I also thrive in polyglot contexts and can be a generalist when needed.
I have domain expertise in Search, AI/ML, analytics, Continuous Delivery, DevOps, data pipelines and platform engineering.
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, UML
Advanced
Agentic AI, Apache Spark, AWS Glue, BigQuery, Django, Docker, Federated Authentication, GCP, Information Theory, Jupyter, Kubernetes, Langchain, LaTeX, Linux, LLMs, Lucene, MongoDB, Node.js, Ollama, PostgreSQL, RabbitMQ, Solr, SPARQL, Terraform/OpenTofu, 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
-
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 low-level 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 standard deployment platform on Kubernetes (AWS EKS), Quarkus, Terraform, GitHub Actions.
-
Mentored on Continuous Delivery, infrastructure as code and DevOps.
-
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 an AI/LLM-based project using local LLMs for testing purposes.
Principal Software Engineer at BBC North: 2015 to 2022
-
Technical leader on highly-available Node.js and Spring Boot APIs used by whole BBC website (~50 internal clients, 15k requests per second for public-facing APIs).
-
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.
-
Promoted a unified CD (Jenkins) and deployment approach across 30+ services and 4 teams, supported with internal metrics collected in Elasticsearch.
-
Led on Python tooling for automating deployments, common infrastructure patterns and testing.
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
-
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).