“I’m more of a human spirit story than a sports story.” ~Diana Nyad during her interview with CBS this morning.
Diana Nyad’s unbelievable, arduous, and triumphant 110-mile swim from Cuba to Florida at the age of 65 totally floored me. As a swimmer and triathlete, I know enough to be able to imagine the ordeal she went through to reach her goal of a lifetime—the salt water, the fatigue… fighting the mental battle and not giving in to despair, self-doubt and fear. But, after four previous failed attempts, she now stands as a heroic example for each of us to “find a way, “ the mantra she says carried her through to the end.
It may be a stretch, but since endurance sports, stories of triumph and software are three of my favorite subjects, I couldn’t help but draw a correlation between Nyad’s epic swim and the perseverance needed to succeed in choppy waters of software development. However, I think the most practical advice we can take from her comes in the last of the three messages she gave through lips swollen from 53 hours of salt exposure:
“I have three messages. One is, we should never, ever give up. Two is, you’re never too old to chase your dream. Three is, it looks like a solitary sport, but it is a team.”
Software developers also have a reputation for being loners—brilliant geeks quietly coding the next break-through technology. But today’s software development process is far from solitary, and a good team is more than nice to have, it means the difference between crossing the finish line victorious or not. So, in honor of Nyad and in hopes of inspiring us all to build a team that will help us reach our dreams, here’s my best attempt to lay out the members of an ideal development team.
The Experienced Developer.
Yes, I do mean someone with more life and industry experience, which will necessarily be someone with some grey hairs. Mentorship and collaboration among developers is key for creating software code that meets stakeholder’s expectations and isn’t full of bugs. A senior developer that provides a solid example and sound leadership for the entire team can make all the difference.
An Innovative Developer.
It sounds cliché, but it’s easy to overlook the value of an out-of-the-box thinker when it comes to software design. Many of the best companies have strong footholds in one industry and have been around a while. Their development teams often reflect the practices that got them where they are today, but can find they lack the fresh thinking and skills to keep up with new trends. This doesn’t necessarily have to be a gen Y hot shot, but youth has does have its place.
The Specialized Developer.
Depending on your industry, you’ll want to have developers who specialize in coding for different purposes and with different languages. This can mean a focus on security, memory, elegant interaction, API development, etc. Having a team member or two who can focus on and master what’s most important to your customer can really help to elevate your team as a whole.
A Forward-Thinking QA manager.
This isn’t just a project manager overseeing the many test cases that have been pre-planned and doled out to different types of testers. The most effective QA manager is heavily invested in creating a culture of quality in the test lab, which means they want intelligent testers who respond to both the goals of the original vision for the product and the test results. You want someone who’s invested in creating a context driven testing culture, values the strategic intelligence of his/her testers, and encourages communication about test results that directly aligns with projects goals.
The Specialized Tester.
Much like needing at least one specialist on the development side, have specialized testers can really complete a team. Again, depending on your industry, but definitely when it comes to testing at different levels of the software or stages in an Agile cycle.
I’m sure your best team could look different than what I’ve described. Really, I wanted to get us all thinking about what our dream team would be if we could wave a wand and create it. So, what is your best team? Feel free to let me know in the comment section. In the end, it’s all about that vision, and the willingness not to give up… no matter what challenges come our way.
- Slow Down, Drop It and Be Creative
- Avoiding Problematic API Choices
- ‘Aliens: Colonial Marines’ and the Tragedy of Glitchy Games