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.
Open to Principal and Staff IC roles. Best reached on LinkedIn.
Instrument first.
Then act on it.
About
The through-line is
architecture you can verify
I spent most of the last decade on Unity’s Ads Exchange, first as a senior engineer and later as an engineering manager. I designed the multi-layer cache behind the Audience Hub and chose Valkey over Aerospike for the 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% — by profiling before buying capacity. I also ran a live rewrite of the auction path at over a million QPS: the same request through two implementations, the legacy path still serving, 99.5% field-level match. In 2026 I went back to IC work at Battle Creek Games: platform engineering for an 18-person studio, a server-authoritative architecture, in-house telemetry, and Community Events.

The systems I like are the ones where a bad deploy costs money in minutes rather than quarters. On the Exchange that meant a live auction at over a million queries per second, with identity resolved on the request path and opt-in evaluated every time. A stale audience segment costs a rounding error of yield; a stale consent decision is a violation; the two are not allowed to share a cache. At Relativity it was a multi-tenant service converting native files to HTML5 at a median under a second, with a priority queue so bulk jobs could not starve the reviewer 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. The interesting engineering is not the generation. Nobody is around to file a bug when a generated build comes out broken, so the test harness is the product — the same job as scoring a new auction path against the live one without serving it. 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. Instrument first. Then act on it. Twice, ten years apart, I found invisible data loss by building the instrument that could see it — first tracing payloads a cloud vendor’s SDK was silently dropping, later reconciling our ad delivery numbers against advertisers’ reports and surfacing a 2% discrepancy nobody had caught.
Open to Principal and Staff IC roles. Best reached on LinkedIn.