β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘ β–‘β–’β–“β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘β–’β–“β–ˆβ–“β–’β–‘β–‘β–’β–“β–ˆβ–“β–’β–‘
BENJAMIN CABLE - SECURE TERMINAL
netrunner@cyberdeck:~$ whoami
BENJAMIN CABLE
Status: [ONLINE]
Clearance Level: [CLASSIFIED]
Location: [ENCRYPTED]
netrunner@cyberdeck:~$ cat /etc/profile
Benjamin Cable

Benjamin Cable

Senior Backend Engineer @ LootLocker

Hi there! πŸ‘‹ I'm an enthusiastic Go developer with a wide range of skills, from building large-scale APIs to creating command line applications.

My recent work focuses on the hard parts of backend infrastructure: migrating production MySQL onto self-hosted bare metal, designing cross-platform identity and account-merge systems, keeping real-money commerce correct across five storefronts, and shipping GDPR Art. 28 DPA flows and player data erasure tooling. Away from work, I run my own Matrix homeserver and generally enjoy self-hosting.

Throughout my career, I've had the opportunity to lead teams of different sizes, ranging from 10 to 30 people, both as a lead developer and a principal engineer.

I'm actively involved in the free and open source software community. Apart from creating and maintaining software, I also co-organize the Golang Dorset meetup with my friends and colleagues.

Go is my primary language for work. I rely on it daily to develop micro-services and various command-line tools. Additionally, I have extensive experience with PHP, including creating new applications and managing legacy software.

In my free time, I enjoy engaging with educational materials, writing small video games using C & SDL2 and Godot, and indulging my passion for music by writing and recording my own tracks.

netrunner@cyberdeck:~$ ls -la /skills/
total 42
drwxr-xr-x 3 root root 4096 Jan 1 2024 languages/
-rwx------ 1 netrunner root Go [CRITICAL]
-rwx------ 1 netrunner root PHP [HIGH]
-rwx------ 1 netrunner root TypeScript [ACTIVE]
-rwx------ 1 netrunner root Rust [MODERATE]
-rwx------ 1 netrunner root JavaScript [ACTIVE]
drwxr-xr-x 3 root root 4096 Jan 1 2024 systems/
-rwxr-xr-x 1 netrunner root *nix
-rwxr-xr-x 1 netrunner root MySQL
-rwxr-xr-x 1 netrunner root Redis/Valkey
-rwxr-xr-x 1 netrunner root k3s/Kubernetes
-rwxr-xr-x 1 netrunner root AWS/GCP
-rwxr-xr-x 1 netrunner root Hetzner
-rwxr-xr-x 1 netrunner root Coffee β˜•
drwxr-xr-x 5 root root 4096 Jan 1 2024 expertise/
-rwxr-xr-x 1 netrunner root Identity & Account Linking
-rwxr-xr-x 1 netrunner root Payments & Entitlements
-rwxr-xr-x 1 netrunner root Database Performance & Locking
-rwxr-xr-x 1 netrunner root Microservices Architecture
-rwxr-xr-x 1 netrunner root Distributed Systems
-rwxr-xr-x 1 netrunner root GDPR & Data Compliance
-rwxr-xr-x 1 netrunner root API Design
-rwxr-xr-x 1 netrunner root Team Leadership
-rwxr-xr-x 1 netrunner root Command Line Tools
netrunner@cyberdeck:~$ find /projects -type f -name "*.repo"
/projects/go-flexible Packages for building Go services, used in production at LootLocker Classified
/projects/Currency ISO 4217 currency codes & minor units for Go
/projects/zconf Extremely Overengineered Configuration Manager
/projects/go-httpretry HTTP client with retry policies & functional options
/projects/deskhue Philips Hue desktop controller (Wails + Svelte)
/projects/Go Core CLASSIFIED DOCUMENTATION ACCESS documentation, but… still counts!
netrunner@cyberdeck:~$ cat /var/log/employment.log
LootLocker
[Oct 2022 – Present] Senior Software Engineer [Remote]
Backend engineer on the core Go service, the developer console, and the platform's self-hosted infrastructure.
Moved the production data store off managed infrastructure onto self-hosted bare-metal MySQL on Hetzner (deliberately outside the cluster) and built the k3s platform around it: deploys, failover, backups and monitoring.
Designed the cross-platform identity system: platform account linking, conflict authorisation and merge flows with a declarative scenario test harness, later reused as the foundation for publisher-scoped cross-game progressions.
Platform commerce: catalogues, currencies, wallets, entitlements and real-money IAP across Apple, Google, PlayStation, Steam and Epic, with defensive entitlement recording, refund processing and vendor failure surfacing for self-service debugging.
Database engineering end-to-end: a code-based, feature-flagged schema migration engine, the GORM→sqlx migration, and InnoDB-level fixes such as eliminating a gap-lock deadlock by inserting before locking.
Shipped GDPR compliance as engineering: Art. 28 DPA acceptance flows, PII classification on onboarding data, admin audit logging, and bulk player right-to-erasure.
Migrated auth.game from Next.js to Go server-side rendering, consolidating the auth surface onto the core stack.
Plus the rest of the platform: game/server/admin APIs, leaderboards, Redis-backed presence, email campaigns, the Next.js developer console, a Go + templ + HTMX publisher analytics platform, and internal libraries like go-filestorage and mysql-retry.
Benefex
[Nov 2021 – Oct 2022] Staff Software Engineer [Southampton, UK]
Focused on improving the tech stack and service efficiency.
Created internal libraries to assist moving the company's systems to Go.
Defined and refined the process for re-architecting services in Go.
Introduced Prometheus metrics to the Go services.
Built an asset optimisation pipeline to make file uploads faster and more efficient.
Utility Warehouse
[Jan 2021 – Oct 2021] Engineering Team Lead [London, UK]
Built the Digital Experience team from the ground up.
Defined process, audited the team's entire codebase, produced architecture diagrams and targeted strategic improvements.
Drove the replacement of the customer portal PHP monolith with a micro-frontend application powered by React and GraphQL.
Quality push on customer-facing services reduced call volume and support tickets; the UW app went from 2.1 to 4.5 stars on the App Store.
1:1s, mentoring and the usual management aspects of the role.
[Aug 2020 – Jan 2021] Senior Software Engineer [London, UK]
Part of the digital experience team.
Improved usability and security of the login system via trusted third-party identity providers and 2FA support.
Helped define and establish better documentation practices.
LUSH Digital
[Oct 2019 – Jul 2020] Technical Architect [Poole, UK]
Principal Engineer duties minus the people management, stepping back to focus on the tech as an individual contributor.
[Nov 2018 – Oct 2019] Principal Engineer [Poole, UK]
Shared leadership of a 30-strong team alongside another Principal Engineer.
Spearheaded the technical design of the Lush Pay tills back-end and oversaw its deployment across the UK, Italy and Japan.
Designed and architected technical projects; introduced standardised methods of handling data across the business.
Kept the usual 1:1s, reviews, holiday & pay management and mentorship, plus hands-on backend engineering.
[Jul 2017 – Nov 2018] Senior Software Engineer [Bournemouth, UK]
Go & PHP microservices as part of the SOA team and commerce squad.
Mentoring and support for new Gophers.
Development and maintenance of open-source software including LUSHDigital/core, LUSHDigital/modelgen and ladydascalie/v.
3SidedCube
[Apr 2016 – Jul 2017] PHP Developer [Bournemouth, UK]
API & backend work as part of the server team.
Worked on the Emergencies app suite, chained-crowdsourcing and the ATLAS preparedness backend.
AWS services ranging from RDS to DynamoDB, SQS, SES and SNS.
netrunner@cyberdeck:~$ netstat -a | grep ESTABLISHED
netrunner@cyberdeck:~$ ps aux | grep meetup
└─ Monthly gatherings of digital gophers for advanced Go programming, distributed systems architecture, and underground knowledge sharing.
└─ Frequency: Monthly
└─ Activities: Advanced Go programming techniques, Distributed systems architecture, Cryptographic implementations, Network security protocols, Underground knowledge sharing
└─ Encrypted Data: 4D6F6E746C7920476174686572696E67206F662043796265722D476F70686572730A
netrunner@cyberdeck:~$ uname -a
OS: GNU/Linux SHIBUYA-RECK-4 8.7.2-ALPHA-NEO-CYBERN-S1 x86_64
Version: v2.085-SYNTH
Processor: Neuralink SYNTH-X1-A Processor
RAM: 128PB Hyper-Dimensional Quantum RAM
Storage: 200ZB Holo-Disc Array
Network: active connection - LootLocker
Reality Index: 94.7% (Stable)
Neural Link: ESTABLISHED - Bio-Synapse Interface active
netrunner@cyberdeck:~$ _
WEBRING NETWORK ACCESS
netrunner@webring:~$ ls -la /net/connected_nodes/
netrunner@webring:~$ _