Profile
Passionate polyglot developer, Rust and Kubernetes specialist, and public speaker seeking a rewarding role in technology. Strong abstract and analytical background in mathematics and teaching, plus a long history of developing open source.
Employment
-
TrueLayer
London, UK
Site Reliability Engineer2021
- ObservabilityManaged agented prometheus-stack, thanos, grafana, dashboards, metric libraries.
- KubernetesWrote sucessful Rust controllers, and the company application helm chart.
- CIDeveloped a platform api around SSDLC + security constraints via orbs/actions.
- CDManaged deployment flow via flux2, and canary releases with flagger and linkerd.
-
Babylon Health
London, UK
Staff Platform Engineer2017 - 2020
- CICreated the centralised CI pipeline standardisation setup for 500 microservices (shipcat).
- ToolsBuilt the developer interface to kubernetes + vault, automated onboarding, and created access policy provisioning based on service ownership.
- PublicityRepresented Babylon by blogging and speaking at conferences such as KubeCon, Rust Meetup, Devops London. Primarily about open source technologies.
- CostBuilt analytical kubernetes resource cost calculator that helped reduce 10% node usage.
- OpsMaintained kubernetes releases for flux, filebeat, logstash, teleport, sentry, prometheus, thanos, and third party integrations for: quay.io, circleci, statuscake, kong.
-
Cisco Systems
London, UK
Software Engineer2010 - 2017
- CIImplemented a custom validated-merge setup for github via a config-managed jenkins. Designed and managed CoreOS build slaves with ansible.
- Build SystemDesigned and implemented a full-featured CLI build system / dependency manager for C++ in Rust, wrapping Artifactory and Docker (lal)
- Security/OpsCreated and managed docker build environments, production environments, and set up regression safety barriers using LLVM sanitizers + AFL.
- CMakeConverted a 2 MLOC master repository which significantly reduced rebuild requirements and accelerated TDD cycles on the codebase.
- Polyglot GeneralistWorked with C++ protocol stacks, python based automation testing, and OpenStack based Node.js micro services, bash based "distributed crontab" jenkins.
- ProtocolsC++ implementation of thread safe call control protocols from RFCs (ICE/STUN/TURN, IX and XCCP), using mockable event loops for testing.
- BragGot a team of 50 developers to agree on a C++ style guide.
Education
Open Source
-
Rust Kubernetes client and controller runtime
-
Docker environment for building musl based static rust binaries
-
Kubernetes deployment and standardisation tool for microservices
-
Parser/writer for the Session Description Protocol
-
Kubernetes OPenapI UnMangler
-
Kubernetes example controller with metrics & tracing
-
Language-agnostic build system and dependency manager
-
Arch Linux ansible provisioning scripts
Languages
-
Rust
nightly/stable
- Maintains the Kubernetes Rust client + controller runtime (talked at KubeCon + donated it to CNCF).
- Lead several large Rust projects in 3 companies.
-
Bash
5
- Deep knowledge of Linux tools and patterns for designing good shell interfaces.
- TDD with shellcheck and bats (for the rare occasion)
-
C++
-std=c++14
- <algorithm> review advocate. Focused on build systems, sanitizers, fuzzers.
-
JavaScript
ES6
- 55 well-documented, test covered packages on npm, but moved away from the eco
-
Python 2/3, Haskell, Go
various
- Can make things work when needed
-
Norwegian
2006-stable
Since birth
-
English
nightly
Since 3rd grade
Interests
-
Programming
Automation, modularity, security, configuration management, mistake prevention
-
Building
Arch desktops, tiny servers with the tiniest docker images, open source modules
-
Topics
Streams, optimization of algorithms, cryptography, security, cloud computing
-
Play
Piano, running, badminton, swimming, dungeons & dragons