Fifteen years building and scaling distributed systems, across the industry's move from bare-metal servers and monoliths to cloud-native, Kubernetes and GitOps. I take on the work teams postpone: technical debt, CI/CD built from nothing, and keeping things up.
A monolith on classic virtualisation, released by hand against a checklist. Wrote the first deployment scripts and moved environment configuration out of people’s heads and into the repository — the ancestor of what later got called CI/CD. This is where it became clear that a manual step in a release is not saved effort, it is a deferred incident.
The monolith era, on classic virtualisation. Deploys were manual, environments were assembled by hand, and every incident traced back to a step somebody performed slightly differently than last time.
This is where the automation instinct came from. Each repetitive task got scripted, each script got version-controlled, and the gap between what the runbook said and what production actually looked like became impossible to ignore.
Key Achievements
Scripted a manual deploy process end to end
Brought environment setup under version control
Cut deploy-time human error substantially
Established the first repeatable release cadence
Documented production as it actually was, not as intended
Tech Stack
PHP · Symfony · MySQL · JavaScript · Bash · Linux · Apache · Git