At first glance, scuba diving and software development may seem worlds apart. However, as my software career evolved and my hobbies in the sea deepened, I noticed several parallels between the two. The qualities that are valued in a trusted dive buddy – effective communication, adaptability, and the ability to remain calm under pressure – are also critical to success in software development.
Navigating Shifting Currents
Just as scuba divers must adapt to the ever-changing underwater currents, development teams must adapt to clients’ changing needs as their businesses evolve. However, finding the best solution and managing implementation complexities can be disorienting, even when the team’s subject matter expert has a clear understanding. The development team will begin with a set of anticipated and acknowledged conditions, only for them to change due to the nature of the environment. In such situations, some may panic and hyperventilate, depleting resources.
When faced with shifting circumstances, as any scuba diver or seasoned software developer will tell you, it is important to avoid aiming headlong into the current and think through your approach. Take momentary refuge behind the new obstacle, regroup, and gather strength. By doing so, you can provide the project with a safer ascent to the surface. It is crucial to be able to assess a situation accurately and with self-awareness and resolve not to exacerbate what is beyond your control. That problem-solving mentality is exuded by the culture at Frogslayer and consistently instills confidence in me when facing the unknown.
Overcoming Inherent Contraints
As you venture a layer (or atmosphere) deeper into your journey, whether in diving or software development, there are certain realities or inherent constraints you must face. These constraints raise the stakes when you travel along a path few can navigate safely to arrive at a destination few have been to or can ever aspire to go. To overcome these challenges, it is essential to tap into the wealth of experience within your team.
Much like divers who pursue training in special gas mixes to extend the length of dives at greater depths, it is essential for developers to prioritize training, tooling, and competencies to extend the duration of the health of the software systems they build and maintain. In my time at Frogslayer, I’ve found that our team embraces a mindset of lifelong learning – in fact, one of our core values is “Pursue Growth” – and everyone remains open to the wisdom and insights others can provide.
Trusting the Partner Beside You
In diving, we establish pre-determined agreements on how to communicate with hand signals and flashlights, as well as protocols for addressing equipment failure in the water. These agreements are vital for our safety and that of others around us. It is thanks in no small part to that fluid, transparent communication and understanding that we’re allowed to become so awe-inspired by what we do.
Similarly, developers should adopt a transparent approach to communication when engaging with clients. By aligning yourself closely with your clients’ needs and speaking openly and directly, you cultivate a relationship of trust with your client. Just as a trusted dive buddy enhances the diving experience, a trustworthy and transparent partnership with clients empowers effective development processes and paves the way for mutual success.
As someone who works on land and plays at sea, it feels fitting that I would have landed someplace amphibious. These practices have contributed to my well-being and tranquility during my explorations and instilled confidence that they will similarly benefit anyone who embraces and relies on them.