about
I'm a Platform/DevOps engineer, and have been for almost a decade. Most of that time I've been the person responsible for how code gets from a laptop to production, and what happens to it once it's there.
I care a lot about keeping things boring. The best infrastructure is the kind a small team can actually run without being scared of it, and I've spent most of my career dragging systems toward that.
what I've done
- Releases. Rebuilt release processes for compliance-heavy (FedRAMP) environments: hardened base images with Packer, encrypted AMIs, installers, and the pipelines that ship all of it. Also migrated a pile of legacy CI/CD into something people could maintain.
- Starting from nothing. Took a team from manual deploys and secrets committed to repos, to fully automated deployments, real secrets management, and Terraform for everything.
- Observability. Went from customers telling us something was broken to us knowing first.
- Security. Just-in-time, passwordless access to AWS and data environments, and the security work that goes along with getting through SOC 2.
- Migrations. On-prem to AWS, legacy hosts to ECS and Fargate, a disaster-recovery environment with a failover process that was actually written down, and MySQL 5.7 to 8 upgrade with zero downtime.
- Kubernetes, when it made sense. Designed a company's EKS setup, and later argued a smaller team shouldn't bother.
- Cost. Cut cloud bills in a few places, including about $10k/month from storage and snapshots alone. Saving plans and rearchitecture for technical decisions.
- Writing it down. A lot of what I do is turning knowledge that lives in one person's head into docs so it stops being a single point of failure.
tools
AWS (ECS, EKS, IAM, RDS, S3, CloudFront), Terraform, Packer, Ansible/AWX, GitHub Actions, TeamCity, Jenkins, Datadog, Linux (RHEL/Rocky), Python, Bash.
outside of work
I build tetrigo, an online puzzle game in the vein of Puzzle League. I own the whole thing, from game mechanics and architecture to running it in production.