August 24, 2016
What coding teaches besides just how to build software: problem solving, the elegance of simplicity and teamwork.
Until “software [started] eating the world,” no one outside of the tech startup ecosystem really paid much attention to programmers, developers, or coding. Now, we’re in the midst of a coding craze. Awareness campaigns, coding boot camps, and kid-friendly coding tools are everywhere. Suddenly, slinging code is no longer the sole domain of computer science majors. While a few detractors tell us that coding “is not the new literacy”, everyone else is jumping on the road to riches people perceive that coding paves as technology increasingly rules our world. But learning to code warrants a closer look for reasons beyond bucking the trend of job displacement. Coding is perfect practice for building bright minds and advancing society–here’s why.
Coding is a training ground for problem solving
Programming languages were created to instruct computers to solve problems, but a coder must first understand how to solve the problem before he or she can communicate a solution to a computer. As such, code is the language of problem solving. Coding cultivates critical thinking skills and provides a fertile training ground to grow problem-solving skills. Coding teaches you how to break big problems into smaller pieces to make finding solutions manageable. And, you get to see the results of your efforts immediately. Instant feedback facilitates great leaps and bounds in learning.
Coding teaches the sophistication of simplicity
But nowadays coding is more than telling a computer what to do, which is enough of a challenge. Learning to code is a critical foundational building block for integrating disparate systems and weaving together different technologies like mobile, artificial intelligence, and cloud to solve real business problems. It’s easy to make something work once, but building something that lives and grows past the eureka moment requires a deep understanding of all the parts and pieces. The experimental nature of coding and the nearly limitless ways to solve a problem forces coders to make the complex simple. Think of it like the human body. Coding is like making sure all the organs, bones and blood work in coordination, so the person functions seamlessly. As Leonardo da Vinci said, “simplicity is the ultimate sophistication.”
Coding is the ultimate team sport with unique benefits
While software continues to eat the world, open source is eating software. The community aspect of coding fuels problem solving in a way that is hard to replicate in other fields. Chances are someone has already solved the problem for you and figured out the best way to do so. In what other field can you so effortlessly take advantage of and improve upon the work of the community? Doctors must memorize what they have been taught and must rely heavily on their own personal experiences. Thanks to the open source community, coders can include the work of others and build on top of it without any fear of plagiarism. It’s the closest thing to downloading skills in the Matrix. Everyday coders stand on the shoulders of those who have come before them to usher in the future. With open source coding, you can go far, fast, together.
Over the past couple of years, two camps of thought have emerged in the public debate surrounding coding’s place in our culture. There are those who think everyone should learn to code as a necessary skill and others who think it should be left up to the professionals. I fall somewhere in the middle. I think if coding calls to you, you should pursue it. Not because you’ll understand technology better (which you will) or you’ll make a fast fortune (which you could), but because you’ll enrich yourself and the world through learning to speak the language of problem solving.
What do you think makes coding special?