Adam Dickinson · Principal DevOps Engineer · Spring, TX (US Central)
NO TICKETS REQUIRED
EVERYTHING YOU NEED EVERYTHING YOU NEED IN ONE HIRE IN ONE HIRE
z Z Z
  • EKS at scale
  • Golden paths
  • Agents on CI
  • LLM observability
  • Cost control
250+
Engineers on the platform
100+
EKS clusters / AWS accounts
−83%
CI container build time
20M
Active time series
−20%
Cloud spend, sustained
12 yrs
Carrying the pager
dickinson.works One person to build the platform, run it, observe it, and cut the bill.

Right now I own 100+ EKS clusters across 100+ AWS accounts, the golden paths 250 engineers ship on without filing a ticket, and the human-in-the-loop quality platform behind every AI agent we ship.

Free 90-day trial. Internally it's called onboarding.

Case studies

Recent work, in detail

What the problem was, what I built, what changed. Every number here is one I can walk you through.

AI quality

Agent traces humans can actually read

Demandbase · AI Runtime Services

The problem

We were shipping multi-agent AI features, and the only record of what happened in production was a Datadog trace: spans, tool calls, token counts. Legible to the engineer who wrote the agent, useless to the product manager or the subject-matter expert who could tell whether the answer was any good.

So agent quality was anecdotes. "It felt smarter after the prompt change" is not a metric, and the people best qualified to judge the output had no way to see it.

How it works

IngestDatadog traces Raw production spans from every agent and tool call.
ReconstructA readable story What the user asked, which agents ran, what each tool did, across handoffs and turns.
ReviewScore in Backstage PMs and SMEs filter, read, annotate, and score against a rubric.
Close the loopDashboards & datasets Quality trends, plus scored interactions curated into Datadog experiment datasets.

What I built

  • It reads production traces out of Datadog and rebuilds the whole interaction: what the user asked, which agents ran, which tools they called, and what came back. Multi-agent and multi-turn, assembled into something you can read top to bottom instead of a span waterfall.
  • The review interface lives in Backstage, the developer portal everyone already had open. You filter down to the interactions worth looking at, read them, annotate them, and score the agent's behavior.
  • I built it for product managers and subject-matter experts, not just engineers. The people who know what a good answer looks like were the ones who couldn't see the traces.
  • Dashboards roll up quality, reliability, latency, usage, and cost, so agent quality sits next to the operational numbers instead of in a separate deck.
  • Scored interactions get curated into Datadog experiment datasets. Today's human judgments become tomorrow's regression suite.
production trace → readable story PMs and SMEs scoring, not just engineers human review → eval dataset, closed loop quality, latency and cost on one dashboard
Platform engineering

Golden paths, not tickets

Demandbase · 2023–present

The problem

250 engineers who needed infrastructure, and a platform team that was the bottleneck for all of it. Every new service meant a ticket, a queue, and a hand-rolled Terraform module that drifted the moment it merged.

What I built

  • A company-wide Backstage developer portal, built end to end, including custom TypeScript plugins for the service catalog, docs, dashboards, and scaffolding.
  • Around 12 golden-path scaffolders that provision real production infrastructure: EKS clusters, AWS account vending, Lambda and API Gateway via SAM, Bedrock Agent runtimes, Secrets Manager entries, multi-environment ECR pipelines, and Istio + ALB internal ingress.
  • Three control planes, split on purpose. Terraform for the long-lived infrastructure, ACK for IAM roles so IRSA could be granted on the fly, and Crossplane for resources born only at cluster bootstrap, like the per-cluster S3 buckets backing Thanos.
  • Every path arrives wired: IRSA, GitOps delivery, and DNS managed in Terraform. Nothing ships half-configured.
−80% provisioning time 250+ engineers self-serving 12 scaffolders in production
Operational automation

Pipelines that fix themselves

Demandbase · 2026–present

The problem

A big share of engineering time goes to the same low-value loop: a pipeline fails, someone reads the log, someone makes a four-line fix, someone opens an MR. Multiply by 250 engineers. Merge requests rot the same way, collecting conflicts, stale branches, red jobs, and review comments nobody circled back to.

What I built

  • An internal AI engineering platform that carries work from a plain-English request, a Jira ticket, an incident, or a failing pipeline through to a tested, reviewable change. You reach it from the web, Slack, the command line, or from other AI tools over MCP.
  • It finds the relevant repositories and ownership context from source, service ownership, Jira, GitLab, and Confluence, then routes to specialized agents for research, implementation, bug fixing, testing, CI investigation, operational triage, security analysis, compliance, or cloud-cost work.
  • For code changes it provisions an isolated workspace, checks out the right branch, makes the change, runs the tests and validation, and opens a properly attributed GitLab merge request linked to the originating task. Tasks run async, so nobody sits watching a terminal.
  • It keeps working after the first commit: monitoring pipelines, investigating failing jobs, telling real failures apart from known flakes, applying bounded fixes when authorized, and rerunning validation. QA evidence is pinned to the exact commit SHA, so a green run from an older revision can never be passed off as proof for newer code.
  • An MR caretaker classifies every open merge request continuously, spotting conflicts, red pipelines, unresolved findings, stale work, and missing validation, then dispatches bounded remediation to keep it moving toward a human handoff. Approval and merge stay deliberate human decisions.
  • Scheduled agents cover recurring operations: release monitoring, repository health, cost-anomaly review, security checks. On-call agents correlate alerts with service ownership, source code, deploys, and telemetry.
  • The coding model underneath is swappable. The platform is the durable part: task state, workspaces, agent selection, tool access brokered over MCP with OAuth, credentials, retries, evidence, and audit.
failing pipeline → fix → MR, unattended flaky and actionable, told apart evidence pinned to the commit SHA humans keep approval and merge
Cost & throughput

13 minutes → 2 minutes

Demandbase · CI platform

The problem

A ~13 minute container build sits in front of every single change an engineer makes. It isn't one problem. It's a tax on 250 people several times a day, and the cloud bill was climbing alongside it.

What I built

  • A remote BuildKit fleet with ECR registry-backed layer caching, which took builds from about 13 minutes to about 2.
  • Two CI lanes across the core repos: a fast one for drafts, the full gate once an MR is marked ready. Feedback speed where it matters, rigor where it counts.
  • Terraform moved off laptops and into GitLab CI org-wide, with automated testing and validation, plan on merge request, and apply on merge.
  • Cloud spend down 20% and holding, through KubeCost-driven optimization and application right-sizing. Earlier I designed a GCP demand-side platform that ran inside its performance requirements at about 40% under the cost projection.
−83% build time −20% cloud spend −60% time lost to upgrades (GitOps)
Features

What else ships in the box

Twelve years of it. No add-ons, no per-seat pricing, no "talk to sales about that module."

LLM

Human-in-the-loop agent evals

A quality platform that reads production traces out of Datadog, rebuilds them into multi-agent stories a person can follow, and lets PMs and SMEs score them in Backstage. Those scores roll into dashboards and curated Datadog experiment datasets.

agent quality, measured instead of guessed
SP

Self-service golden paths

A Backstage platform built end to end, with ~12 scaffolders that provision production-ready AWS infrastructure: EKS clusters, account vending, Lambda + API Gateway, Bedrock runtimes, ECR pipelines, and Istio ingress. Each one wired with IRSA, GitOps, and DNS on day one.

provisioning time −80%
AI

Agents that do the toil

An internal AI engineering platform on the web, Slack, the command line, and MCP. It carries a ticket, an incident, or a failing pipeline through to a reviewable merge request, then monitors the pipeline, tells flakes from real failures, and keeps open MRs from going stale.

failing pipeline → fix → MR, unattended
$

Cost engineering

Cloud spend treated as a product metric, not a quarterly panic. KubeCost-driven right-sizing across the fleet, a DSP that came in about 40% under its cost projection, and per-team LLM quotas, budgets, and semantic caching.

−20% AWS bill, held
SEC

Supply-chain hardening

CVE remediation decoupled from application upgrades: a Wolfi-based hardened image pipeline with Flux image automation that rebuilds and promotes every open-source infra component weekly, across every environment.

no infra image older than 7 days
OBS

Observability, company-wide

Strategy and operation of the whole stack (Prometheus, Thanos, Mimir, Loki, Grafana, Datadog) across metrics, logs, and traces, including custom ingestion at 20M active series.

20M active series, one owner
Integrations

Does it work with your stack?

Your job req, line by line, against what I've run in production. The gaps are listed too. You'd find them in week three anyway, and I'd rather you find them now.

Your stackStatusNotes
EKS + Karpenter Native Primary SME for ~100 production clusters on a single-cluster-per-account model. Upgrades, security policy, and Karpenter-driven autoscaling and capacity strategy.
Multi-account AWS Native Own the architecture and governance: Control Tower Account Factory vending, SCP guardrails, IAM Identity Center federated to Okta, and AWS Config for inventory and compliance. Transit Gateway, PrivateLink, and VPC peering where the topology warranted it.
Terraform Native Drove the org-wide move off laptops into GitLab CI: automated validation, plan on MR, apply on merge. HashiCorp Terraform Associate.
Terragrunt Not yet Haven't run it. I solved the same DRY and blast-radius problems with module design and a CI-enforced workflow. Picking up the tool itself is a weekend.
ArgoCD / GitOps Adjacent Led the company-wide GitOps migration on FluxCD. Same reconciliation model, different logo. Also directed the implementation architecture for progressive delivery on Argo Rollouts, mentoring a junior engineer through design and rollout.
GitHub Actions Adjacent Deep in GitLab CI, lighter on Actions. Same primitives, and I've rebuilt a build system from the runners up, which is where the 83% came from.
Cilium Not yet eBPF dataplane is the honest gap. The networking around it isn't: cross-account Istio service mesh meshed per environment, VPC CNI, Transit Gateway, PrivateLink, ALB, and Route 53 across all of it.
Stateful systems at scale Native Kafka via the Strimzi operator at tens of billions of messages per day: partitioning, replication, retention, automated provisioning. Thanos and Mimir hold 20M active time series.
ClickHouse Not yet I've run plenty of systems shaped like it, but not ClickHouse itself, and not at your scale.
Cloud cost optimization Native 20% off the AWS bill through KubeCost and right-sizing, a GCP DSP that came in about 40% under projection, and per-team LLM quotas, budgets, and semantic caching.
On-call & incident response Native Twelve years. I've been the escalation point, and I've built the tooling that meant fewer people had to be.
Linux & the debugging bit Native Python for services, controllers, and internal libraries. TypeScript for Backstage plugins. Bash where Bash belongs. CKAD, AWS SA Associate.
Changelog

Release notes

Twelve years, semantically versioned. Breaking changes were mostly intentional.

v5.0.0
2026-04 · current

MajorPrincipal DevOps Engineer, Demandbase

Took the AI Runtime Services charter, the shared platform behind every AI feature in the product. Built the human-in-the-loop quality platform that turns production Datadog traces into reviewable agent interactions and curated evaluation datasets. Operate the LiteLLM gateway as the single front door for model access, with guardrails, quotas, and per-team cost attribution. Shipped the internal AI engineering platform that carries tickets, incidents, and failing pipelines through to reviewable merge requests, then keeps them moving. Build times down 83%.

v4.0.0
2023-06

MajorStaff DevOps Engineer, Demandbase

Built the company-wide Backstage developer platform end to end. Drove the org-wide GitOps migration on FluxCD. Took over AWS multi-account architecture and governance, and became the EKS SME for ~100 clusters. Built the Wolfi hardened-image pipeline that cleared the ProdSec queue for good.

v3.0.0
2022-03

MajorSite Reliability Engineer, Demandbase

Designed and deployed all infrastructure for an advertising demand-side platform on GCP, inside its performance requirements at ~40% below cost projections. Led the Istio migration and spearheaded the Kafka architecture on Strimzi.

v2.0.0
2020-12

MajorDevOps Engineer, automotiveMastermind

Architected Azure and GCP services: App Services, AD, SQL, Functions, GKE, BigQuery, Pub/Sub. First GitOps workflows on Flux CD, custom Helm charts, ELK and EFK logging stacks.

v1.5.0
2017-10

Manager, IT & Enterprise Architect

Primary technical contact through the SOC 2 audit. Authored the majority of the company's policy set, built the evidence-collection process, and established the change-management practice that took it to SOC 2 Type 2, and kept it there.

v1.0.0
2014-06

Systems Engineer & Team Lead, Varsity Technologies

Cloud-hosted infrastructure, a team of five, and the discovery that almost everything I was doing by hand could be a script.

v0.1.0
2013

Initial commit

B.S. Business Administration, Computer Information Systems. California State University, Stanislaus.

Pricing

Transparent, obviously

You publish your compensation calculator. It seemed rude not to publish something back.

Trial
$0 / first 90 days*

*Terms and conditions apply. The term is "salary" and the condition is that you pay it.

  • First PR merged in week one
  • Shadowing on-call by week four
  • A written list of what I think is broken
  • Opinions about your codebase (yet)
See what's included
Most popular
Enterprise
Let's not

Available in theory. Strongly discouraged in practice.

  • Six-week discovery phase
  • Steering committee
  • Slide deck instead of a diff
  • A partner ecosystem
Contact sales (don't)
FAQ

The questions you were going to ask anyway

What are you bad at?

I've never run Cilium in production, and I've never operated ClickHouse at your scale. My deep CI experience is GitLab, not GitHub Actions. I'm a competent TypeScript author because Backstage demanded it, not because I'm a frontend engineer. Don't put me on the app.

I'm strong on the systems and weaker the closer you get to the browser. I'd rather say so here than have you find out in week three.

You've been at one company since 2022. Why leave now?

Because I've built the thing. The platform exists, the clusters are stable, the migration is done, and the interesting work at Demandbase is increasingly work I've already done once. I want a system that's still hard: a stateful, rapidly-scaling product where the platform question is genuinely unsolved rather than mostly solved and being maintained.

Flux or Argo?

Whichever one is already there. I drove a company-wide migration to Flux because it fit the repo model we had, and I'd have made the opposite call under different constraints. The reconciliation loop is the idea; the controller is an implementation detail, and I have no interest in relitigating it on arrival.

Are you going to be weird about on-call?

No. Twelve years of carrying it. The only thing I'm opinionated about is that a page should mean something. If an alert fires and the runbook says "wait, it clears itself," that alert is a bug and I'll go delete it.

You built an AI platform. Why do you want an SRE job?

Because I built it to stop doing toil, not to get into AI. The CI triage agents exist because I was tired of reading the same failing job logs. The MR caretaker exists because merge requests rot when nobody is watching them. That is SRE instinct pointed at the delivery path instead of the runtime, and the same instinct is what makes me want to own clusters.

The parts of this job I want are the ones on your req: deep ownership of production, making a fast-growing stateful system predictable, and deleting the alerts that should never have paged anyone. Where an agent can take a piece of that off a human, I will build one. Where it can't, I will do it by hand.

Why PostHog specifically?

Two reasons, both of them mine. First, the shape of the problem: a stateful, fast-growing system that needs to become a predictable platform is the exact job I've done twice, and it's more fun than maintaining one that already is. Second, I spent the last year building an agent quality platform, which took raw LLM traces and turned them into something a product manager could actually review and score. PostHog ships that category as a product. It's rare that the thing I built for one company is the thing another one sells to everyone.

The handbook helped too. I've read more of it than is strictly normal.

Is this page running PostHog?

By the time you read this, yes. It felt like the minimum.

Where are you, and does that work?

Spring, Texas. US Central, which is the timezone on the req. Remote for the last six years, async by habit, and I've worked across the whole US/EU spread long enough to know when to just write the doc instead.

System status
status.dickinson.works
Agent review queue0 unreviewed · nominal
Golden-path scaffolders12 templates · operational
EKS fleet~100 clusters · nominal
CI build lanep50 2m 04s
Pagersuspiciously quiet
Job searchdegraded · 1 open req
THE INTERVIEW'S THE INTERVIEW'S HALF DONE HALF DONE

You've read the case studies, the gaps, and the pricing. The rest is a conversation.