One of the most traditional activities of adolescence is for kids to join in and play organized sports. From softball to tennis, there are several options for kids to find a sport they enjoy. As parents, we sign our kids up for sports not just because we have dreams of them maybe one day becoming professional players but also to learn valuable life lessons. While the possibility of professional success is often remote, we realize there are other tangible benefits. From teamwork to competition to sportsmanship, sports provide several transferrable lessons for kids. These skills are also useful from a professional standpoint which leads many employers to actively recruit former collegiate athletes. In a similar manner, learning to code offers not only many key developmental benefits now but as the emerging language of business going forward. We have already seen many employers like GE
communicate that their new employees should either have these skills or quickly develop them. So, what are some of the key similarities between computer programming and sports are?
1. The best athletes are known as students of the game. They understand not only their role but also that of their teammates and can anticipate what their opponents might do in a specific situation. For coding, those who are fluent in multiple languages and have a deep understanding of what can be accomplished with computer programming are able to utilize their expertise to solve a wide variety of problems across several different domains.
2. Athletes quickly learn that success and failure are part of the process. During sports practice, kids work to develop their skills and begin to learn not only their strengths but also their limitations. As they prepare for competition, there are some games they will win and others they will lose. Regardless of the outcome, there are key improvements that can be made. With coding, there are numerous complexities associated with building a new product. At times, a key feature is able to be programmed quickly and at other times, the lines of code simply do not produce the desired outcome. Or, edge cases emerge that require additional logic to create the desired result. As kids go through the development process, they begin to learn what works and what doesn’t. This ultimately results in becoming more efficient as they work on new projects with increasing difficulty.
3. Many athletes recognize that it doesn’t matter how great they are as an individual, the collective effort of the team is important. In programming there are 2 key instances of this concept. Pair programming is when a group of developers work together to review their partners code to make sure that there aren’t any errors. In addition, open source programs and programming enables a dispersed often global group to work together develop and improve products that they community believes is beneficial.
4. Competition. One of the best ways to evaluate the progress of a sports team is to compete with another team. Over the past several years, hack-a-thons and robotics competition have emerged that provides students on the local, regional, national and international stage the opportunity to develop solutions to problems and compare those solutions to other teams to see which is superior. Many of these competitions take place in large auditoriums and are as if not more exciting than sports matches. By giving kids the opportunity to showcase their skills in competitions, we will continue to encourage development to either improve or maintain performance.
5. Celebration of prodigies. In sports, we often see the emergence and encourage development of those with exceptional talent. For computer programming, there have been several examples of prodigies like Mark Zuckerberg, Bill Gates & Jack Dorsey who have gone on to build amazing products. By and large the development of their talent was not limited in anyway by their ages. Instead, by demonstrating knowledge and acumen, they were able to let their solutions speak for themselves. Over time, they were encouraged either through direct intervention or preferential access to resources and ultimately built some of the most groundbreaking companies in the world: Facebook, Microsoft and Twitter/Square. As more children begin to get early exposure to computer programming, I think we will see even more emerging prodigies who build unique solutions at earlier and earlier ages.
While computer programming has many similarities with sports, one of the key differences is that opportunities in technology are far more available and accessible. The nature of sports begins to filter and reduce options as athletes progress from high school to college and for the few fortunate to professional sports. In fact, the NCAA estimates for the ~500,000 college athletes, that there is between a 1-10% chance that they will play professional for football, basketball, baseball, hockey and soccer.
For careers in technology, not only are there more opportunities there are projected to be 1,000,000 more jobs than people to fill them by 2020. We can project that given the increased integration of technology into companies of all types that these opportunities for those who develop the skills will only continue to increase.