Why Your Senior Dev is Probably at the Climbing Gym
Itâs been a while since my last post on Iced Tea Labs.
Yep, I started bouldering at one of the coolest climbing gyms in Ho Chi Minh City - Vertical District! And I noticed something funny: the place was packed with software engineers.
At first, I was curious why. But the more I climbed (and fell off the wall), the more I realized that bouldering isnât just a sport⌠itâs physical programming.
Here is why your Senior Dev is probably at the climbing gym right now.
The âProblemsâ
In many other sports, you have a âmatch,â a âgame,â or a ârace.â But in bouldering, the route is literally called a âboulder problem.â
Just like in software, a problem is defined clearly with a set of requirements and constraints:
- Start position: You have to establish the start with specific holds (usually marked by tapes).
- Finish position: Both hands controlled on the top hold.
- Constraints: You can only use holds of a specific color.
When youâre new to bouldering, you might look at a problem and try to muscle through it - like a Junior Dev trying to brute-force a solution. But a Senior Dev knows that brute force burns your resources (your muscles) in no time. You have to find the algorithm.
The âBetaâ
In bouldering, âBetaâ is the specific sequence of moves you need to send (solve) the problem.
Surprisingly, the steps to solving a boulder problem are nearly identical to debugging a crashing app:
- Run the code: You attempt the climb.
- Runtime exception: You fall off the wall.
- Analyze the logs: âWhy did I fall? Was my foot placement wrong?â
- Patch the bug: âOkay, this time Iâll toe hook to prevent barndooring.â
- Re-deploy: Try the climb again.
And when you canât figure out why you canât send the route? The climbing community is always there to share the beta with you - just like looking for help on StackOverflow.
The âOptimalâ Solution
In bouldering, reaching the top isnât the only goal. The more you climb, the more you want to climb efficiently to conserve energy, rather than just using raw strength.
Sometimes, just a little twist of your hips or straightening your arms can make a huge difference. Itâs like improving your code from an O(n²) to an O(n) approach. Itâs the physical manifestation of âclean code.â
Why do Software Engineers love Climbing?
Besides the similarities between climbing and coding, I think the reason so many of us are obsessed with the gym is the feedback loop.
In software, we build features, fix bugs, and refactor code, often waiting weeks for user feedback.
In bouldering, the feedback is instant and undeniable! You either held the rock, or you fell. Gravity doesnât care about your edge cases. When you finally reach the top, you get a hit of dopamine that is remarkably similar to fixing a bug thatâs been plaguing you for a week - but you also get to feel it in your muscles.
Iâm back to writing on Iced Tea Labs, and I plan to bring some of that âclimber mindsetâ back to my development tutorials. Whether itâs Buckist, myMoney, or a new Flutter experiment, Iâm treating it like a new project on the wall: analyze, attempt, fail, adjust, and send.
See you on the wall (or in the terminal)!