Skip to content

DevOps & Platform Engineering

I build the dull, reliable foundation, Kubernetes, Infrastructure as Code (Terraform), and CI/CD, so your team ships faster with fewer 3am pages. You get reproducible infra and a paved road for deploys.

Sound familiar?

  • Deploys are manual, scary, and only one person knows how
  • Infrastructure lives in someone's head, not in code
  • You're standing up Kubernetes and want it done right, not relearned twice
  • CI is slow, flaky, or doesn't actually catch what breaks prod
  • Environments drift and "works on staging" means nothing
  • Scaling the team means scaling the chaos

What you get

  • Infrastructure fully described in Terraform, reproducible on demand
  • A paved-road CI/CD pipeline anyone on the team can deploy through
  • Kubernetes set up with sane defaults, autoscaling, and observability
  • GitOps so the cluster state matches what's in git, always

The unglamorous work that makes everything else possible

Platform engineering is plumbing. Done well, nobody notices it. Deploys just work, environments are reproducible, and the team ships without flinching. Done badly, it’s the source of every late-night page. I build the former.

What I help with

  • Kubernetes, set up right. Sensible defaults, resource limits, autoscaling (HPA/VPA/Karpenter), RBAC, and observability baked in from day one.
  • Infrastructure as Code. Terraform/OpenTofu modules that are reproducible, reviewable, and don’t quietly drift out from under you.
  • CI/CD. Fast, reliable pipelines (GitHub Actions, GitLab CI, and the rest) with the same artifact promoted across environments and rollbacks that actually work.
  • GitOps. Argo CD or Flux so the running cluster always matches git, and a deploy is just a merge.

How an engagement works

  1. Audit. What you run today, and where the pain and the risk live.
  2. Paved road. Design the simplest workflow your team can adopt without a PhD.
  3. Build incrementally. Codify, add guardrails, refactor the worst parts, all reversibly.
  4. Enable the team. Docs, runbooks, and pairing so they own it instead of me.

Frequently asked questions

Should we even be running Kubernetes?+

Often yes, sometimes no. If you run a handful of services with a small team, managed containers (ECS, Cloud Run) may suit you better than the operational weight of k8s. I give you a straight answer based on your team size and where you're headed rather than a reflexive yes. And if you do need it, I'll set it up so it stays boring.

What does a good CI/CD pipeline actually look like?+

Fast feedback (under ~10 minutes to a deployable artifact), the same build promoted across environments, tests that catch real regressions, and one-click or git-push deploys with an easy rollback. Most pipelines I'm called in to fix are slow, flaky, and build differently per environment. I fix all three.

Do you use Terraform, Pulumi, or something else?+

Mostly Terraform/OpenTofu, because the ecosystem and the hiring pool are the largest, with Helm and Kustomize for Kubernetes manifests and Argo CD or Flux for GitOps. I work within whatever you already have rather than force a rewrite.

Can you work with our existing setup instead of rebuilding?+

Almost always. I'd rather improve things incrementally (codify what exists, add guardrails, then refactor the painful parts) than bet the quarter on a big-bang rebuild that goes sideways.

related work

Where I’ve done this

Running into this?

Book a free 30-minute call. We diagnose it together, and you walk away with a plan you can act on. You’ll get a straight read either way.