Tips from Elena and Rohit
During our interview with Elena, head of agile at VEON, and Rohit, a back end engineer here, we learned that both enjoy rock climbing. That got us thinking.
Is there a connection between rock climbing and coding?
Here’s the short answer: Yes!
So, we’ve gathered seven insights from Elena and Rohit that will make you better at rock climbing and coding (or at least one of them).
To be a successful programmer, Elena believes that “you have to apply analytical thinking to everything you do. You should understand the problem before you open your mouth.”
So, it’s about stepping back and looking at the problem. This links to rock climbing as well.
For instance, if you’re planning to climb La Dura Dura in Spain, one of the hardest climbs in the world, chances are you’re going to want to do your research. You need to grasp the task before you begin — or else you’ll fall.
As Elena says, “you can’t know whether something works or not until you have it out in the wild.”
In coding, you simply have to see what you can do in order to improve.
An example to follow would be Dropbox, a company that rapidly achieved a $10 billion valuation. Dropbox had quick success because they wasted no time launching a product to market. Afterwards, they ran a rigorous testing and optimization schedule in order to achieve hockey stick-like growth over their first five years.
This same idea of just going out there applies to rock climbing. First, practice hard on easy indoor and outdoor climbs. Once you get better, begin attacking more and more difficult climbs. Each time you go out on a climb, do what Dropbox does: Gather feedback from yourself and your guide or friends, and take steps to improve your performance.
Who knows? Maybe you can eventually conquer Biographie (aka Realization) in France, and be a real-life Spiderman. Biographie is where Chris Sharma completed the world’s first confirmed 5.15a climb.
Say it out loud: Need more feedback! You won’t be able to improve a product if you don’t know what customers are saying (hint: they’re always saying something).
While working for a startup which failed, Rohit realized the importance of testing like Dropbox does.
“We were too focused on offering a solution for a billion people, and didn’t ask our initial customers for advice and feedback. Because of this, we spent too much time engineering and didn’t test enough. This led to failure.”
This testing idea also applies to bouldering. You have to practice. Otherwise, you’ll get caught on a wall — literally.
Luke Livesey, a professional rock climber and instructor, recommends that climbers “identify all of the footholds on the wall before you start your climb.” Because you must learn how to bridge one move to the next.
Translate this idea to software development. It means to take advantage of what’s in front of you. Both Elena and Rohit have done this during their career.
“I studied business and accounting. But my first job was with an IT company. I’ve learned by experience, picking stuff up on the go. I actually came to this field by chance,” attests Elena.
“When I was doing research in France in preparation for a PhD program in computer science, I had this itch to code. Programming is in my blood, and I finally saw that I needed to utilize my skills and follow my desires. Going all-in on a programming career was the right step to take,” says Rohit.
Jeff Atwood, a software developer and author of the popular Coding Horror blog, highlights a link between coding and rock climbing in that “unforeseen, unforeseeable, and purely chance obstacles” always show up, even on “the most meticulously planned” projects or expeditions.
If you set out on an epic rock climb, you’re must be prepared for the unexpected. It’s a part of the journey to the top.
Elena echoes this idea about her programming work.
“No theory is 100-percent bulletproof. Everything that you know isn’t necessarily correct. As a scrum master, I have an iterative process to follow, but I also know we have to home-brew our own scrum process. Unique challenges need unique solutions.”
Let’s work off point #5. Because you must have methods for handling the situation when plans break down.
In rock climbing, you have your harness, rope, helmet, carabiner, and other equipment. To be the best climber you can be, you must learn how to use these tools most effectively. That means improvising or creating unique solutions from time to time, especially when you’re stuck.
This idea connects to programming. If you ask Rohit for advice on being a back end engineer, he stresses the importance of choosing the right tools.
“Over my career, I’ve learned seven programming languages (Java, Ruby, Scala, etc). To make the most of my tools, I focus on the problem — rather than fighting the language. If you use your tools wisely, you can come up with efficient solutions.”
Technically, if you’re going to be a rock climber, it may be beneficial to transform into one of those dinosaurs that could climb, like the Deinonychosauria (‘fearsome claw lizard’)
Anyway, you get the point. Both Elena and Rohit warn against becoming dinosaurs. Dinosaurs reigned on earth for over 100 million years, but your reign in the programming world will be much, much shorter if you don’t learn how to take the next step up now.
“Old dogs must learn new tricks,” exclaims Elena.
“Never be hesitant to learn. In programming, it’s learn or die,” explains Rohit.
Hopefully, these insights help you for your next programming project or rock climb (or both). Follow them — and you’ll be literally and figuratively on your way to the top.
And you can find all our open positions here: