2025-02-12

Queue depth is a design choice, not a dashboard surprise

By Arisara Khemthong

Queue depth is a design choice, not a dashboard surprise
We open the Go Concurrency Lab cohort by sketching a worker pool on paper—no code for the first ninety minutes. Learners map ingress spikes, batch sizes, and shutdown paths before touching channels. That inversion matters: queue depth becomes a negotiated property instead of a midnight alert. In the second week we instrument the same binary with pprof wall profiles and compare two buffering strategies. The cohort sees how a slightly larger buffer shifts pressure downstream, sometimes masking a slow consumer instead of fixing it. We document both outcomes honestly. By week four, teams present a one-page operational brief that links their queue settings to customer-visible latency budgets. The writing is dry on purpose; it has to survive a real design review. Alumni tell us the brief outlives the course repo—which is exactly the point.

Tags: Go, Concurrency, Teaching

Back to journal