01 problemAutonomous offensive-security agents had to assess paying customers' real web applications without being able to misbehave.
02 what I didI architected the system (an API server and async workers orchestrating assessments), led the threat modelling and designed the agent controls: prompt-injection handling for untrusted content from targets, tool-misuse limits, an audit trail of decisions and tool calls. I built a hardened sandbox: gVisor pods under rootless Podman with no network of their own, seccomp, and two-layer egress control rejecting private and metadata addresses. Agents use production LLM APIs with guardrails, evals and MCP tools.
03 resultDesign to general availability with paying customers in about six months, built with agentic development. I was one of the team's first two engineers.
gVisor
rootless Podman
seccomp
egress control
MCP
evals
A platform 50 teams chose
1 → ~50
teams, moved by choice
teams on the platform
time →
Illustrative shape: adoption from 1 to ~50 teams
01 problemA bank needed an internal developer platform on Kubernetes its teams would want and its security department could stand behind.
02 what I didPrincipal architect, product owner and people manager for ~15 engineers, half through team leads. We designed around a single tenant's needs, with purpose-built tooling. With the bank's security department I defined new cloud-native security standards and built them in: default-deny networking, admission policies rejecting non-compliant workloads, image scanning at build, deploy and run time, SIEM log forwarding. I owned the roadmap and build-vs-buy decisions, reusing the bank's existing identity, secrets and vulnerability-management tooling.
03 resultFrom one tenant to about 50 teams, over 250 engineers. Nobody was told to move; teams onboarded because it was useful.
Kubernetes
default-deny networking
admission policies
image scanning
SIEM
From two releases a year to every few days
2/yr → every few days
releases
Before and after
01 problemA company-wide CRM monolith shipped twice a year; every release needed hotfixes.
02 what I didAs principal engineer, I changed how the team shipped, bringing them along rather than enforcing. We rebuilt the CI/CD path to production, added automated pull-request compliance checks and unit, integration and load tests, moved to trunk-based development, and began splitting the monolith into independently deployable services.
03 resultFrom two releases a year to production deploys every few days; releases needing hotfixes fell from 100% to ~10%.
CI/CD
trunk-based development
pull-request checks
load tests
60M concurrent users
60M
concurrent users
01 problemA platform serving 60 million concurrent users, active-active across regions.
02 what I didI helped design and scale it on multiple Kubernetes clusters, each hosting hundreds of tenants. I led and improved the internal Kubernetes-based PaaS, built highly available REST APIs and CI/CD pipelines for microservices, and delivered zero-downtime database and API performance work.
03 resultThe platform supported 60 million concurrent users and thousands of applications.