Profile

Experienced in building and maintaining platform infrastructure, developer tooling, and full-stack applications. Looking to move deeper into backend and systems engineering - building APIs, distributed systems, and the services that sit behind them.

Experience

bp

bp

Senior Software Engineer - IDP Tooling

May 2025 - Present
  • Own the observability stack (Grafana, Mimir, Loki, Tempo) for our Internal Developer Platform, giving every team that onboards production-ready monitoring out of the box.
  • Built Grafana Proxy, a reverse proxy with an in-memory user cache, enabling audit logging of admin actions without doubling request volume - unlocking a compliance requirement that was previously unmet.
  • Created a local Kubernetes cluster mirroring production, eliminating dependency on shared infrastructure and significantly speeding up the team's development cycle.
  • Recognised as a go-to engineer for technical guidance across the team. Mentored a new engineer 1-to-1, helping him go from struggling with the role to thriving in it.
GolangKubernetesAWSGrafanaMimirLokiTempo

Software Engineer - Platform Automations

Sept 2024 - April 2025
  • Built and maintained Lambda functions in Python to automate service lifecycle and configuration across Grafana, FeatureHub and Azure DevOps.
  • Consolidated large amounts of duplicated code into a shared central library, significantly reducing maintenance burden across all automations.
  • Improved code quality and contributor experience by introducing formatting, linting and reproducible dependency management with a uv lockfile.
PythonAWS Lambdauv

Software Engineer - Bazel

Sept 2023 - Aug 2024
  • Delivered Bazel build configuration for projects across the company and maintained Buildbarn for remote build execution, accelerating CI pipelines.
  • Stepped up to lead a struggling Bazel migration for another team. Lead a team of two other graduates and successfully delivered the migration before their 1.0.0 release deadline.
BazelBuildbarnStarlarkPython

Software Engineering Intern

Summer 2022
  • Built a Digital Ethics Impact Assessment application that became a widely-used internal tool, combining web development techniques with citizen development tools.
  • Performance led to a graduate offer at the end of the internship.
Microsoft PowerApps
University of Nottingham

University of Nottingham

Technical Support Assistant

Nov 2021 - June 2022
  • Kept the computer science department's server infrastructure running - maintaining servers, provisioning VMs, and deploying asset management software.
  • Provided hands-on hardware support to staff and PhD students, resolving technical queries across the department.
LinuxVMs
Plasmid Vectors

Plasmid Vectors

Full Stack Developer (Intern)

Summer 2021
  • Built an expandable modular plasmid generator for the Synthetic Biology Research Centre at the University of Nottingham - designing the relational database, DNA generation scripts, and a WordPress plugin and block from scratch.
PHPWordPressMySQLPython
Ink Memorabilia

Ink Memorabilia

Web Developer

Sixth Form
  • Designed and built a full ecommerce website for a client from the ground up - product management, payments via Stripe, and a MySQL-backed storefront.
PHPMySQLStripe

Projects

Homelab

Self-hosted infrastructure running Kubernetes on Talos Linux, with ArgoCD for GitOps-driven deployments. Using cert-manager for TLS, external-secrets for secret management, MetalLB for load balancing, and kgateway with the Kubernetes Gateway API for external routing.

Hosting a range of open-source apps including Immich, Wanderer, and Tandoor Recipes, all monitored with Grafana, Prometheus, and Loki.
KubernetesTalos LinuxArgoCDGitOpsGateway APIcert-managerGrafanaPrometheusLoki

Open Source Contributions

Open SourceGoTypescript

FPL Stats Site

Web app that calculates and displays statistics about Premier League footballers. Hooks into the Premier League API for live auto-updating data to aid in picking a fantasy team.
Web DevAPI

OS from Scratch

Built two basic operating systems from scratch using a mix of assembly and C.
AssemblyCLow-level

Neural Network from Scratch

Implemented a neural network from first principles in both Python and Java, without using any ML libraries.
PythonJavaMachine Learning