I started lifting in 2025—a New Year resolution that became a lifestyle. Six days a week, no exceptions. Rain, travel, bad mood—doesn’t matter. I show up.
And here’s the thing nobody tells you: the gym taught me more about shipping software than any tech blog ever did.
The Myth of the Big Push
New engineers love the heroic push. The all-nighter before launch. The weekend sprint that “saves the project.” I used to be that guy.
In the gym, that’s the equivalent of going from zero to maxing out on your first day. You’ll either hurt yourself or burn out so hard you won’t come back for months.1 This is literally dangerous. “Rhabdomyolysis” is a condition where overworked muscles break down and release proteins that can damage kidneys. Weekend warriors who go too hard too fast sometimes end up in the hospital.
What actually works? Showing up Tuesday when you don’t feel like it. Adding 2.5kg when 2.5kg feels boring. Doing the third set when you’d rather check your phone.
Progressive overload. Small, consistent improvements. Boring as hell. Works every time.
Progressive Overload in Code
The principle is simple: gradually increase the stress to force adaptation.2 Progressive overload was formalized by Thomas Delorme in the 1940s while rehabilitating WWII soldiers. The principle—systematic, incremental increase in demand—applies far beyond weightlifting.
In code:
- Ship small features consistently, not big features occasionally
- Each project, stretch slightly beyond your current ability
- Add complexity only when you’ve mastered the current level
- Recover between intense pushes
The engineer who ships something small every week for a year outperforms the one who attempts one massive project and burns out.
Nobody Cares About Your One-Rep Max
There’s always some guy at the gym who loads up way more than he can handle, does one ugly rep with terrible form, then walks around like he accomplished something.
In tech, that’s the engineer who ships a “working” prototype that’s held together with duct tape and prayers. Yeah, it technically runs. Once. In demo conditions. With the right wind direction.
Real strength is the weight you can move with control, repeatedly, without breaking yourself. Real code is the system that runs in production for months without someone getting paged at 3 AM.3 There’s a saying in powerlifting: “If you can’t pause it, you can’t claim it.” The controlled pause at the bottom of a bench press proves you’re not just bouncing the weight. In code, the equivalent is: if you can’t maintain it, you didn’t really ship it.
Rest Days Aren’t Weakness
I used to think rest days were for people who weren’t serious. Now I know they’re where the actual growth happens.
Same with engineering. The best solutions come after I step away. After a walk. After sleeping on it. The code I write at hour 10 of a debugging session is always worse than what I write fresh the next morning.4 This is backed by neuroscience. Sleep consolidates memory and allows the brain’s “diffuse mode” to make connections the focused mode misses. Barbara Oakley’s “A Mind for Numbers” covers this well.
Your muscles don’t grow while you’re lifting. They grow while you’re recovering. Your brain works the same way.
The Compound Movements
Squats. Deadlifts. Bench. Overhead press. These aren’t glamorous. Nobody’s impressed by your squat form on Instagram.
But they work everything. They build the foundation that makes everything else possible.
In code, these are the fundamentals. Data structures. Algorithms. System design. Understanding how the machine actually works. Not the shiny framework of the month—the boring stuff that’s still relevant twenty years later.5 I’ve seen engineers who can configure Kubernetes but can’t explain how a hash table works. It’s like a bodybuilder with massive biceps but no core strength—looks impressive until you need to actually move something.
Everyone wants to skip to the fancy isolation exercises. The cool new tech stack. But without the compound foundation, you’re building on sand.
Form Over Weight, Always
Here’s what took me years to learn: dropping your ego and using lighter weight with perfect form beats heavy weight with shit form. Every. Single. Time.
In engineering: a simple solution you actually understand beats a clever solution you copied from Stack Overflow. Code you can debug at 2 AM beats code that’s “elegant” but incomprehensible.
I’ve seen senior engineers write the most convoluted garbage because they wanted to look smart. I’ve done it myself. It always comes back to bite you.
Simple. Clean. Maintainable. Like a good squat—nothing wasted, nothing extra.
The People Who Quit
Most people who join a gym quit within three months. Most people who start learning to code quit within a year.6 Gym membership statistics show roughly 50% of new members quit within six months. Boot camp completion rates tell a similar story for coding. The dropoff isn’t about ability—it’s about expectations vs. reality.
It’s not because they’re weak or stupid. It’s because they expected results faster than reality allows. They thought motivation would carry them. It doesn’t.
What carries you is discipline. The decision you made on Sunday when you were motivated, honored on Thursday when you’re exhausted and would rather be anywhere else.
I don’t always want to go to the gym. I almost never want to start debugging a gnarly production issue. I do it anyway. That’s the whole game.
The Mind-Muscle Connection
Bodybuilders talk about the “mind-muscle connection”—focusing attention on the specific muscle you’re trying to work. It sounds like broscience, but there’s research supporting it.7 Schoenfeld and Contreras (2016) found that internal focus of attention (thinking about the muscle) increased muscle activation compared to external focus. Attention matters even for physical tasks.
In code, this is deep work. The ability to focus completely on the problem at hand. Not half-attention while Slack pings. Not “multitasking.” Full presence.
The quality of attention determines the quality of work—whether you’re curling a dumbbell or debugging a race condition.
The gym is simple. Show up. Do the work. Rest. Repeat. Add weight slowly. Don’t get hurt.
Code is the same. Show up. Ship small. Learn from failures. Don’t burn out. Keep going.
There’s no hack. There’s no shortcut. There’s just the work.
And honestly? That’s kind of freeing. You don’t need to find the perfect program or the perfect tech stack. You just need to keep showing up.
Now if you’ll excuse me, it’s leg day.
Further Reading
- Rippetoe, Mark (2011). Starting Strength — The classic text on basic barbell training. Principles first.
- Newport, Cal (2016). Deep Work — On the importance of focused attention in knowledge work
- Clear, James (2018). Atomic Habits — On systems over goals, consistency over intensity
Related
- The Psychology of Code Review — More on the human side of engineering
- What the Stoics Taught Me About Being On-Call — On showing up when you don’t want to
Changelog
- 2026-01-07: Initial draft
- 2026-01-29: Published. Added sidenotes with research citations, expanded on progressive overload principle, added Further Reading