Denver, CO · Principal Software Engineer

Zephan Johnson

I build systems that have to hold up under load — real-time auctions, identity, and the platforms games run on. Lately that includes AI agent pipelines that turn a conversation into a working product.

Zephan Johnson on a rocky coastline, wearing a Sox cap
Zephan Johnson, Denver, Colorado

About

The through-line was building, not delegating

Most of the last decade was Unity’s Ads Exchange — first as a senior engineer, later as an engineering manager — but the through-line was building, not delegating. I designed the multi-layer caching architecture behind the Audience Hub and chose Valkey over Aerospike for its distributed tier. I sequenced the cost work that took exchange infrastructure from $91k to $60k a day, a 34% cut, while request volume grew 25%. In 2026 I went back to full-time IC work at Battle Creek Games and shipped.

The systems I like are the ones where a bad deploy costs money in minutes rather than quarters. Real-time programmatic auctions at over a million queries per second. Identity resolved inside the live request path, with opt-in evaluated per request — a stale audience segment costs a rounding error of yield, a stale consent decision is a violation, and the two are not allowed to share a caching strategy. A multi-tenant service converting native files to HTML5 at a median under a second, with a priority queue that keeps bulk jobs from starving the reviewer sitting there waiting on one document.

Lately that means AI agent pipelines. At Battle Creek I built a harness that turns a conversational game design into a playable HTML5 build in under five minutes for under a dollar, where the interesting engineering is not the generation but the verification — nobody is around to file a bug report when a generated build comes out broken, so the end-to-end test harness stops being a safety net and becomes the product. I also moved a three-title portfolio onto a server-authoritative architecture and replaced a third-party analytics vendor with an in-house Go and Kafka telemetry service.

One habit sits underneath all of it: don’t ship on conviction, build the thing that can measure, then decide. Twice, ten years apart, I found invisible data loss by building the instrument that could see it — first tracing silently dropped payloads into a cloud vendor’s SDK, later reconciling our ad delivery numbers against advertisers’ and surfacing a 2% discrepancy nobody had caught.

Open to Principal and Staff IC roles. Best reached on LinkedIn.

1M+QPS resolved in the live auction path
$16Myearly AdMob spend unlocked
34%exchange infra cut, $91k to $60k a day
<5 minto a playable generated game