Two rules every runner hears in their first month: nothing new on race day, and dress for warmer than it is. I broke both at the start of the 2025 Austin International Half. It worked anyway, but only because someone else had done the prep work and I had room to call audibles. Deploy day is the same shape.
The race#
It was 28°F at the start, 11°F with the wind chill. In Austin in January that’s a winter storm advisory, an ERCOT panic, an egg-hoarding situation. I had run in the cold exactly twice before, neither at thirteen miles. None of the cold-weather gear was mine. The pants, the gloves, the neck gaiter, the ear muffs, the wind breaker — all of it had been bought by my wife in the days leading up.
At the start line I made the first game-time decision: swapped my usual running hat for a beanie I’d never worn. The hat would have blown off in the wind. The beanie was warmer. More importantly, I could pull it off mid-mile when I started overheating, hold it for a quarter mile, and put it back on when my ears went cold again. That swap was the difference between finishing comfortably and not, and I made it in the parking lot watching other runners walk past.
So much for nothing new on race day.
What the rule is actually for#
The rule isn’t “don’t try anything you haven’t tried before.” Read literally, that’s absurd. At some point every piece of gear was new. The rule is don’t introduce variables you can’t predict the behavior of when the stakes are high. The beanie was new to me, but it’s a beanie. Worst case it makes my head sweat. The downside was bounded.
What the rule actually forbids is the new shoe model. The untested gel. The race-day-only fuel strategy. The things whose failure mode is “now your race is over.”
I think about this every time I add a feature flag the night before a deploy. The flag itself is fine. The pattern is fine. But I’ve shipped exactly zero loads through that specific flag in this specific code path, and I’m about to find out on production traffic whether the off state is actually off.
The other rule#
Dress for warmer than it is. The reasoning: you’ll generate heat once you’re moving, so dressing for the ambient temperature means you’ll overheat by mile three.
The deploy version is the over-provisioned migration window. You think the change will take ten minutes. You ask for an hour. Then when the foreign key constraint takes thirty-eight minutes to rebuild because the table is bigger than staging, you have margin. You don’t have to make the panic call to extend the window while half the team is on a different Slack thread.
Margin isn’t pessimism. It’s accepting that your estimate is a point on a distribution, and the distribution has a tail.
What actually saved the run#
It wasn’t the training plan, though I followed the twelve-week Hal Higdon novice plan honestly. It wasn’t the gear list, though it was complete. It was that the prep work had been done well enough that I could afford to improvise at the start line.
If I’d shown up with nothing, the beanie swap doesn’t happen. I’m wearing the beanie because it’s the only headwear. If I’d shown up with no cold-weather kit at all, the run doesn’t happen. The prep didn’t predict the day. It bought me the latitude to make a decent call when I saw the parking lot.
The deploys that have gone well for me have looked the same. Not because we predicted every failure mode (we didn’t, ever), but because we’d written down the rollback steps, we’d left ourselves a feature flag we had actually toggled in staging, and the change was small enough that “revert and try again Tuesday” was a real option instead of a fantasy.
What I’d tell the first-time release engineer#
Don’t confuse rehearsal with certainty. The reason you walk the rollback path the day before isn’t so the rollback goes perfectly. It’s so that when something else goes wrong on the day, you have one less unknown competing for your attention. You spend the prep so that you have margin during the event, not so the event goes exactly to plan.
And if you find yourself at 4:55 PM Friday writing “just one more change” into the PR: that’s the new shoe. Put it back in the box.
I forgot my gloves in the car at the start line. My wife handed them to me through the fence at mile one. That’s prep too. It just wasn’t mine.
