On long runs and long projects
What training for the Marathon Majors taught me about surviving the messy middle of a big software project.
I picked up distance running late, and it has quietly reshaped how I approach my work. On paper the two have nothing in common. In practice, a marathon and a large software project are almost the same problem wearing different shoes.
The middle is where it's decided
Every marathon has a glamorous start and a triumphant finish, and a long, lonely stretch in between where the outcome is actually decided. Big projects are identical. The kickoff is exciting and the go-live gets the photos, but success is earned somewhere around the unglamorous middle, when the novelty has worn off and the work is just work.
Consistency beats heroics
You can't cram for a marathon, and you can't cram for a migration. Both reward the boring virtue of showing up and doing a sensible amount, repeatedly, for longer than feels interesting. The dramatic all-nighter is usually a sign that the consistent work didn't happen earlier.
Respect the wall, then keep moving
There's a point in every long race — and every long project — where it stops being fun and starts being a test of whether you'll keep putting one foot down. Knowing that moment is coming makes it survivable. You don't have to feel good; you just have to not stop.
I still run for the running, not the metaphors. But somewhere on a long Sunday out, more than one gnarly work problem has quietly untangled itself. That's a fair return on a pair of trainers.