A Trek is just like Software Engineering
Arjun Basu
Vice President of Engineering @ Rakuten | Board Advisor | E-Commerce | B2B SaaS | DEI Ally | Ex VMware
It is not the mountain we conquer, but ourselves. –Sir Edmund Hillary
A few months ago, I had the opportunity to be a part of a trek in the Himalayan foothills. During the trek, and for days afterward, I was struck by its similarities with enterprise-scale digital projects! Yes, #trekking is a lot like #softwareengineering, just without the added code complexity.
Choosing the right goals
It all starts with defining what we want to achieve. For me and my better half, this meant days of poring over destinations, debating (often vigorously) about their relative merits and eventually getting to an agreement. How will we define success?
Option 1: Exhaustion of mind and body just for a fleeting Insta moment.
Option 2: A leisurely stroll that will be instantly forgotten.
Option 3: Something that challenges but also energizes & elevates.
A goal is a dream with a deadline. – Napoleon Hill
Don't we end up doing the same in our software engineering projects? There is always the allure of the "impossible dream” and attempting "what no one has done before." Challenges are amazing for the human psyche, but it should not leave a team so worn out that they cannot enjoy the winning moment and what lies beyond. Choose the right goals for your team.
Knowing your team
A family trek, after all, has to be for all the family. In our case, it meant two relatively active adults, one (slightly ??) reluctant teen, and the junior most, who had just turned 10! The trek had to be achievable for all of us. Challenging, yes, but most importantly, an enjoyable experience.
If everyone is moving forward together, then success takes care of itself. –Chris Bradford
Often, we encounter the same team mix in software engineering – from the seasoned architect with decades in the industry to the newbie just months out of college, and everything in between. Knowing your team and, more importantly, being inclusive of their diverse abilities and viewpoints is what ensures success.
Choosing the right partner
It is a known fact that great outcomes are achieved only with the right partners. In our case, research and feedback from real customers (read: friends and family) led us to IndiaHikes, one of the largest, professional trek organizers in India. Making the outdoors come alive for 20 thousand individuals a year is an amazing achievement.
The attention to detail and focus on trekker safety that #indiahikes showed throughout the trek gave ample proof that we made the right choice.
For developing software products at a global scale, the right partners matter too. Depending on the type of project, these could be market research firms, business process consultants, infrastructure partners, systems integrators — the list can go on and on. Don't be swayed by the hype or the snazzy brochures. Seek out real people and organizations who have worked with the partner and can provide candid feedback.
领英推荐
Remember, changing an engineering partner in the middle of the project is as difficult as switching a Sherpa halfway up a mountain!
Buy vs. rent
This was the hard part. We were new to trekking and wanted this to be a start for many more future journeys. The stores looked enticing with those fluorescent striped hiking boots, that designer fleece jacket ... well, you know how it goes. The expert advice on trekking forums covered the entire spectrum, from buying the whole store to renting even the water bottle! We went back to the drawing board, evaluating options ruthlessly and ending up with a balance between buy vs. rent. Items that we did not have enough knowledge about went into the rent bucket! Were we absolutely right in our decisions? Of course not! That goes into the “good experience, and we will do it better next time” bucket.
This could be a page out of software engineering. Should you rent the infrastructure or build out your server farm, opt for that pay-per-use security service, or build something custom? The choices can be overwhelming, but I suggest sticking to the basics.
The unexpected will happen — be prepared
This is true for just about anything in life. We took the time to prepare our children to expect unusual events throughout the trek. While it did not completely remove their anxiety when disaster struck, at least it did not cause absolute panic.
It started midway through our journey to the base camp. A late monsoon triggered multiple landslides in Uttarakhand. Thankfully, everyone was safe! On this occasion, the unexpected was literally around the corner! Extra food supplies and emergency contact numbers that were collected before we started ensured that everyone knew what to do.
The next mini disaster was an out-of-season hailstorm on the way back from the peak. Limited visibility, freezing winds at 12,000 ft. and a slippery descent tested everyone's endurance. At one point, the trek team had to pause as moving forward would have been dangerous. A couple of hours huddled inside a tiny shelter, helping each other through the shivers and anxiety was not on the plan - but it still happened. The time spent preparing and anticipating unexpected outcomes helped us cope as a trek team.
The same applies to any large software engineering project. Keeping the contingency plans ready, and more importantly, making the entire team practice what to do when disaster strikes is a great way to take emotions and frustrations out of the equation.
In the end, mission is all that matters.
Once you reach the summit and start your way down; as the adrenaline and endorphins fade away, it can feel like Day 2 of a new software launch. After a successful launch, the team may feel a sense of relief and accomplishment. However, the work isn't over yet. In fact, the second day or week of the launch can be just as difficult, if not more so. The team now has to deal with the challenges of supporting and maintaining the software product.
This is the true value of the journey and why I've built my career in software development. As a technology leader, the experience of leading a team and working together towards a common goal of building something incredible is what makes the job so rewarding. The thrill of the mission is almost as exciting as the outcome.
“You just can't beat the person who never gives up.” — Babe Ruth
Senior Product Manager|QA management|SME in ERP E2E| SFDC- CPQ| MBA & Post Graduation in Digital Marketing from Kellogg's, USA.
1 年Every field is a trek .. be it software engineering or any other field that helps man kind .. nothing less nothing more!!
Global Tax and Customs | Trade Strategy, Facilitation and Market Access I Risk and Compliance I Policy Advocacy
1 年Interesting read!
Engineering Leader @ Walmart Luminate
1 年Never thought a Trek journey can be related to a Software Journey! Interesting read Arjun Basu ??