About

I try to pay attention to as many areas of tech as possible, with particular expertise in devops and backend development. Stuff I'm particularly interested in include the Go programming language, and the Kubernetes orchestration tool.

Social Media

Experience

See my CV for a formal copy of my work experience, and my email (external link).

Apple Inc

Site Reliability Engineer, January 2020 to November 2023

I worked in the Cloud Services organisation at Apple as a site reliability engineer. I was able to work with bare metal and kubernetes and a range of languages and codebases, as well as being on call for my team's service (Object Storage).

Limejump Ltd.

Full Stack Developer, June 2019 to December 2020

I worked on the energy trading and dispatching platforms for the business. I also led work to migrate team-owned services from Amazon ECS to Kubernetes, to align with wider business strategy and to allow the team to increase release cadence and reliability.

I set up and ran the internal Go Special Interest Group, a slack channel and fortnightly meeting where developers working on Go projects can ask questions, get advice, and show off things they have been working on. It also provided the org with an opportunity to standardise on libraries between teams. This was heavily inspired by the Go Working Group detailed by the Sainsbury's technology team in their talk about testing at the Gophers London meetup.

Go Working Group

A strong Go engineer steers the group

Bring together people who work with Go in the team

Discuss and decide which tools to adopt

No compromise on Go/Engineering standards

State Street Bank

Microservices Framework Engineer, July 2018 to May 2019

I joined State Street as a fresh-faced graduate in 2018. There, I worked as the one junior in a team of highly seasoned devops engineers working to build out a platform as a service offering for the company internally. I worked on the Kubernetes team, aiming to provision ad-hoc Kubernetes clusters to developer teams across the business.

I got to learn Kubernetes in instrinsic detail during my time there, as well as working in an Agile softawre development team. Work I'm particularly proud of includes deploying two critical platform tools (a build artifact server and a Continuous Integration server), and working on educating other teams about using the tools effectively.

Bell Software Development

Freelance Developer, May 2017 to January 2018

Miscellaneous freelancing work during Summer 2017, between terms at university. I worked with a React Native investment startup, a big data query interface with intelligence auto-completion, and building an attendee management app for a hackathon.

Netcraft Ltd.

Internet Services Developer (intern), June 2016 to September 2016

My first ever internship and my first taste of real world software development outside of university. I got to grips with a Perl codebase and got to work on small bug fixes and features for the company's phishing detection and penetration testing suites. Highlight of the work was optimising a database query over a million rows, from taking one and a half minutes to execute to just ten seconds!

PGP Public Key

Because why not.

\-----BEGIN PGP PUBLIC KEY BLOCK-----

mQINBFoA3VwBEADBYUrwB7Mf9BvAy/EtaU4luqh5MKCqqfwBJbQYZz64fNasVIaw
FSkbRb/69gx45J64nBcQavuZ6kNoPMXWM0pe2lhRkCdjI2CyCrvoT+mL/q5nYAWo
PVIEgl2v8pkH6YzY60ujR23RtmfuEGi7jbdgf264xP4En1et3OPkqM/QVbBlozj8
m39WhfaHNFp+2mwpQzQOz/iJaSzpzY/gpAI5r7er+GKImYYmvuBA3JB9yp6dYdbJ
dyjch+OKlITMEVvGDnNsFfsEBPGDbYABr3QggYssCONlxV/rUSv8OqLCJ/KsS59J
Z6K/6pmeJWKb8jXVmxK0+7HVHl25d2E7W7/C+8VW54rgJ1g+B4dH8UE3Yt8JVviL
FTxnW1hSfR25o7Y5ovLyALqJ0ekoe937wS5JUpnxNMM+NGCpE6EVty8IxvChfwcg
zH/yGGAJ3TKYa5EvP5eLyFGiB7SvzHkjuxDWfll6UBN3mUCyu1FmSKScaVHksE/I
\+deWUwNAQ8IyZYfkZsGKxFB1BoHi+bYce8KPz/LPOne8Gq6FYhIehnCa5SrgmCfl
9JRO1Nwbl2M4Zb0hFq/rpKjbLmCAyO5I+OJlnJO6Xr5oszARJlZrKo1tzzbYxYPe
9Pl0sjY8wEDNPIU84yndX4Kyv0mXYIQLSM96+1DHzG5HoqvoRmydBZcu0wARAQAB
tBxNYXR0aGV3IEJlbGwgPG1hdHRAbWJlbGwubWU+iQI4BBMBCAAsBQJaAN1cCRCc
pL9/Dcw5ywIbAwUJHhM4AAIZAQQLBwkDBRUICgIDBBYAAQIAAMhXEACiRXHV/yAm
9HYWQ0smAETvsIQYX+rfqRWe4kkTAqU+VRLxyD1WhGDat0W4pUhphTdO2DiAeb/b
VVjD+k+NAZzhkO4n+LAj8kJLObn6qn8UL1XcFeWA+NgkvgWBFUPLT8vEvcGEbiHz
aCuNUhscbq2Ja5zJu0h1NCRcwNQ7hbpYPkED7apC59kf17zDu7J2YvasRbkLzzIk
Ifjxo5wE9kFJsczWaUCwPPfs1hnan7c3efMDBUyBAwDL3ZgNrU6h1i6wE7YBGBgc
AlfpMgEzu2SfjzfKeXmCF4w23AEQ3IAZzYlI9fn0Ghlv8x3dJtcoRdLSOzSD+N6n
8YdfumI1mfBfBCcxHwn/mwWCRzFx0W4vekgKDQo03NeNSf8AFEfFeTAuyA5cM44L
3AmmZ0YP5MkFPYAmeHxI36+WMvoKAEkisxTeNTIISKJXCyP+PhmXNdq8FvRuwJiF
IyoU++41K9DPUmockmzQ82eNv9TG2LdrUKexnN3Tko5zIg3BDnO8zVfort/Q2S4Q
moGN9Rxl5JseXjkvXD8QY5Ua+0bm0yMF4NRcLDdKFch2fAprYlSdxD0/uWUKOC2C
Gx+jn1KqCSCBB8+mR8RwCuejWjNEl4qtWMBJ21CjdwX9ey1mZ7iOz2NJLnHaX2Pa
xGOwZlva/wlxiBK5lennC9aIgG9hR/VX7LQqTWF0dGhldyBCZWxsIDxtYXR0aGV3
LmJlbGwuMTIzNEBnbWFpbC5jb20+iQI1BBMBCAApBQJaAN1cCRCcpL9/Dcw5ywIb
AwUJHhM4AAQLBwkDBRUICgIDBBYAAQIAABROD/4jsH0H7fAtfFFusibC61zpKPzG
69DIH9mB66BdCdvvGhR5V3cmbSBij8ITTCokZOt+xR8HvSaGrGMhvwwLhDLOjn4J
nA9ph3vRjQMPcWHDKIZVBql/mptPqfVhttNk3k16DQX/GAqRbvQfFHqkIekHfj7g
zIBBJsLYSoZgND3+uc3uhsiyemn+6vcZZdNSNBKGbdr+duhsAmIAa9zJi+1m7P1A
H8mHUoEwzM2cKCYnd7B44Wh6IYVd2a7eiPD+9jjdp0ybEgQx2tpwCLgE9unwBvWG
z+IRTmXSN66lmiuJ4fqwEePaj2eL7/nd8seYVQNjc6RWqyLDYSMTaeXWbgvbp1sZ
ZaAYZ/VI2kKCHgp1ocd+2C+KUuiUEiPWTFbfYavjG4y3OvgiRqa7mvDKDXpz2v3b
SHdx6Z7MVg2TD+XHu83x2itGYbOGsn4d2O+5zsshBNSDadf8NP6db6zGlBzPT2mV
yjYI/xnm5ItiCWV1GWuzOgDU9GZNJ76ODiGXaa8K9EjsKaVmfws6pRaogAcHUABu
kYqueLUSJTonpGFidNLhg/V/j1LmHf4BBmpvG0/hPvTxGvpSNc7nRhwns8y6suvm
39H/tll8xgCB/kXuFMfiMDyIph2nzdKboUcyJkpUheLLw/E388l2GqIxrMxbyRwO
V3mG543R6eohCY1MvLQvTWF0dGhldyBCZWxsIChXb3JrKSA8bWF0dGhldy5iZWxs
QGxpbWVqdW1wLmNvbT6JAlQEEwEIAD4WIQTtEJVYBTcXV8AYz6ScpL9/Dcw5ywUC
XQjwlwIbAwUJHhM4AAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCcpL9/Dcw5
ywMWD/9HhKQCLr9izk6KPa9KyZkppPakkRXhvVWo20LlMR1S2dqTQVeBV4+PocOq
uoibXVtdDDp6IZ6gN3ISnv0IA+Fy6RgG4omJ1rmeT7x7lgLzQGPD0aL+Rm5MUGWh
daRlMk7ron5lWybv3XStNhTgGuFDZvyORdcypHMKt2Fw+7CTAZOex3qf6JhcMoev
1xi/nKZtF6heAC7Pf7tNs0maoyOcdGNB0DIr4byqHyjEO61LYjx3Hd8wghIsEDYe
3ptnWqPLWkKw9/oSaNfs45p0j0f6BCxTh1dM32VO4XL6VPuoLUWpsw4yeJS8AQ/S
yer50DFZhrhqM6Jndfj3Z6plNJ3vQac/K/wnqy4zINlxQ8A7dU4e+v2/xApHjRTe
E81OWO6ozdQ/HxS6Ix/k4NQWhU8YdMebofPpuFuJ+YVUtSD6xz5DJHSLLqrTv6vR
qeQujTXeTRl4uSvF/vbfsTLXrfkC8+wu71h0LolBAzWwQXWeBlEhSgw5CD+8cWu9
\+npmyMUbSt1cguZpRohWiV7nfXzR9SQTAoMyvogOlecJy1E3hc5uLpcMrca2obl4
pagVglzV3hHbqyE2bhrsSGDJkqe1l1q+AABeefj5+MDzkatzA4dEK8Ny64Rr6WX4
gZv1C5Z714qk9t4Mo0gczPQqq59NC9kumQItDURK38xoU1X+S7kCDQRaAN1cARAA
t07JBO9aOj9tjnwnEhE88sUiIVzwiCLOi38+j9PBKrmOJXRrK9XpZP+dtK6Zhdi5
oOhpvJGhL8AaNu1Ut/LwDlRuEMWBU+edYYGKDov1QAmzpBqQEDQCrtmbLAAu5aJF
bFqK9HKm4KR+OBtc/LaUFnqdnqfpArxh0mxT2tRnoyk3pFXVFTpXDGf8LwGqtcDK
vU4hQbyTdG7O2faWBsfpZkq04NyfgX7W2RijGhPqaMsAy4J/LnDJVXDKlQZhAAds
gvlji5D0lFdu/XZ71KA1vn9eu3mI2HcrQU8aas6bak9SL9JaRksLa9uKTJ4bAerS
5IL59uK9JjmSDQPGrGW93rwAnLquznOQTTejpX0tn0TMtiPuv0AIVbXavQ3dQ0Qb
u4/xg0MMH3TxjG97h2OIxt2j5yze2HvNhNOpA31jSPt/H3vItVIp+K5A79xp1K7a
Rj18T+Kt2QVGF378LqHU5xxAWKSjBKjeYIOVNA30zlVeRXCXS9v1OsXKbAKYoqcB
7TzLfEljCPyOkI9WVGPBoLH5wc11se1g1T1+W38K2luT1PHzzil1zPP0gR4Bx5fT
JTH5EI8pbox0EpKSEI8kCm3FgMmjJyZf0+lGBS6jCsnTGwHk9J19j1oMNE/7GOft
1HKvbQRPSXJa0JlfHSiuL2cOzkkrrq5Hi3wqEMR9Lp8AEQEAAYkCNQQYAQgAKQUC
WgDdXAkQnKS/fw3MOcsCGwwFCR4TOAAECwcJAwUVCAoCAwQWAAECAABcDg//bvju
A/JgjxEuml/+Gy8wvxdwT/Gtmeb+zxT3pgLn3o+AvBcuGVDyuKFf2d7D2L7q9XVj
I8bf01kNnKrexftx3wZqYQhqBKFlrkkO0RrvM6quPmyu739WY+DZYVb0+aXNglod
ktRMPau3ym/tGBFBmRKBromc6DY0GmU3KXgHd9NRuYbCEwFxAk2McA41l5w6uEJO
cugUlgQi7a6twh+sAaJvk0vuAe+iXOCxG2iyvvuZ8t2pntHyc3BjUCZW4VaJsUv/
NaguT8bTdaY7/SoUAMmtVdUNo35UOgvjeqEgnSl/HNZ8mz4+IBiloIPGtUT5hSL1
A9SqRoPDL2Nwg3U6i1uI+cLAxQOdKNhbOqrpL2shvIXFvSs9t5lrf5jAuyQKabVT
Q38tPnN2rRMZA9Gy1HEp5utRtfkIt/4OPIsijAGlPNEoXhTNN9biHfDXR7ICGZtS
qNgjd0t4VAoNionN21ZU+vDnEkWzV1MW929/d1MvBZdFfzs5SopHbZFzl5ZpawyZ
nF/YdFAoHZDX69ACWe+nYixE6t3uNGJELu6RTbynfs96e4Ab7+nT0Du9lZxXwy6H
DXeajpzT7k38b84MQ81C7vbvwL4syRbqnOu/4cpIw96z0Ovyg3U80xh443Xab5aO
\+wb/bAuOajxbays1UcXaz/lp1Aq87fadhLWsoHE=
=0Q84
\-----END PGP PUBLIC KEY BLOCK-----

Website

Version: v1.1.7