Climbing and Coding

Alex Zito
Tiny Code Lessons
Published in
2 min readApr 1, 2016

--

Professionally I am a software developer — I work at Education First in Cambridge and I love what I do. I turn designs into living interfaces that are pulling and distributing data from server to client. Outside work I am a competitive rock climber, and climbing is one of my favorite things in the world. I feel like the two activities complement each other in a strange way, and I wanted to figure out why that is.

I think it comes down to the fact that climbing and coding require a lot of the same modes of thinking. Three in particular stood out to me:

Investing heavily in up front planning and research. I always spend as much time scouting out my routes as I do climbing, and as much time reading code as writing it. If you don’t plan out your problems before you climb, you won’t be able to excel as a climber. The same way, every new software problem is made many times more difficult if it isn’t researched thoroughly. In both activities, you need to first understand the logic around the entire problem space, then read about best practices for the problem, and then finally when you can’t learn any more, start thinking of solutions.

Iterating quickly and always learning. If you muscle through problems with the same technique every time you will never become a strong climber, you will only harden existing habits and flex tired muscles. Similarly design patterns in code need to constantly be overwritten. When you try a new technique on the rock wall, like a heel hook where you could have powered through, you will have discovered an interesting new motion and built layers of muscle memory that will stay with you forever. Software problems as well should be approached with an eye for improvement — refactoring your existing design patterns and looking for new shortcuts that will save you time and energy. Iterating and discovering is a virtue in both climbing and coding.

Being a perfectionist when it comes to execution. Once you have rested and planned your attack, don’t half ass it. Get on the wall and wrestle it. Plan for every edge case. Don’t leave anything to chance. We all know what this one means. The code you push and the climbs you send are both representations of you and your process, so make them strong.

So whether you are at a computer or at the gym pulling on holds, keep in mind the lessons you are learning don’t only apply to the activity at hand.

Happy climbing and happy coding!

--

--

Alex Zito
Tiny Code Lessons

Software Developer + Product Manager. Interested in Travel, Culture, Economics and the Internet. Join Medium: https://tinycode.medium.com/membership