Whereas the 20th century was about understanding the physical world and harnessing energy, the 21st century is challenged with the task of harnessing data, information and knowledge. Coding is applicable to almost every industry today, and as we move into the future, coding will become an indispensable skill for everyone entering the workforce.
Teaching kids and non-coding adults does much more than address industry needs; it provides a space to develop other necessary attributes, like problem solving and confidence navigating around modern technology. Teaching in itself is a form of learning, and the ability to teach well means you are learning to a level of mastery. It will benefit your skills while helping advance technology, because coding is no longer just for computer whizzes — it’s for everyone.
Breaking Down What You Do
Einstein’s famous quote, “If you can’t explain it simply, you don’t understand it well enough”, couldn’t ring more true for coding. For many, coding is a secret world that is shrouded in darkness to those without access. Now imagine trying to teach programming to someone with no knowledge; how would you begin?
When you teach from the beginning, you’ll get asked a lot of ‘why’ and ‘how’ questions. Something that seems rote to you may take on a new meaning, get you thinking more about the ‘why’ — the foundations of your knowledge. In the process, you may be surprised to find how much you take for granted, and perhaps search for ways to explain the fundamentals even to yourself. Ultimately, it’s a learning experience that will help you think critically about what you’re doing, the why behind it, and might just lead you to better and more thoughtful programming.
Filling in the Gaps
Teaching not only gets you thinking critically about coding, it’s a reflection of your ability. If there’s something you can’t explain, or have difficulty explaining, it’s indicative of a gap in your knowledge. Don’t worry if you find gaps; teaching is the perfect impetus to fill them. You’ll be accountable to building your knowledge when you have a student to teach, and in that case you get the best of both worlds as both a teacher and a student.
You Don’t Have to Be a Teacher or a Master
Not only is coding for everyone, teaching is for everyone too. Don’t be discouraged from participating in some sort of teaching or mentoring even if you feel like you’re not a master on a topic, or possess teaching skills, you actually learn more from teaching someone close to your level. Even if you’re just barely above your mentee’s level, you’ll grow leaps and bounds. Participatory teaching yields learning retention rates at 90% — the highest retention rate for any type of learning. Teaching is difficult, you may never be the best teacher in the world, but you’ll be a better communicator for it.
Why Teach Others
Enough about how teaching will help you become a better programmer, let’s look at how teaching benefits others. The U.S. Bureau of Labor Statistics estimates that there will be 1.4 million computer programming jobs available by 2020, and at our current rate of growth — only 400,000 computer science students to fill them. We’ll call it the Great Developer Drought of 2020. Melodramatics aside, that statistic doesn’t necessarily spell industry crisis, because every developer is a teacher. We have the ability to teach and mentor both kids and adults to code simply by sharing expertise.
Not every student needs to be a programmer, but some coding literacy is an asset to anyone, as computer programs underlie most industries: business, marketing, science, medicine, and transportation just to name a few. In any case, computer programs and software are known to be a major driver in productivity and improvement in any field.
Many countries are even mandating their students learn coding in primary school, and there’s a strong case that the future prosperity of our country depends on delivering advanced services in digital technology. Introducing code gives students an appreciation of what can be built with technology, an understanding of how programs work from a foundational level, and enables them to imagine new programs and services to drive technology into the future.
Benefit Your Image
Despite some definite tide changes in the past few years, computer programming still has a bit of an image problem. A lot of people look at computer programmers and think about the stereotypes: it’s a job for someone who wants to be sitting in front of a computer all day, it’s isolating, it’s boring, and perhaps a little nerdy. The personal benefits of coding are quite the opposite. Programming is not boring, it’s creative. It’s building, solving problems, seeking out new inventions, and a lifelong dedication to tinkering.
We think we’re on the cusp of a major change in opinion, but the shift needs to happen faster because of the industry’s necessity. It’s our job to make the benefits of learning code clear so that the best and brightest are attracted to programming.
The advantages of teaching programming are enormous for both personal growth and industry health. Developer shortages are a contentious topic, and there’s no doubt that not enough of the best and brightest are entering into programming sciences in schools and universities. That’s why sharing knowledge is so important for the future of development. Not only that, but teaching helps trained programmers continue to learn, which is essential to staying relevant as a developer.