“While we teach, we learn.” — Seneca
Since at least the times of the Ancient Romans, people have recognized the effectiveness of teaching as a way to learn. Modern research confirms that students who tutor others, in one format or another, understand concepts more deeply as a result of having to work harder to accurately convey information. As web developers, in an always-changing field, we spend a lot of time learning. There’s always some new technology or framework to learn. Of course, “learning by doing”, or learning by actually coding and practicing, is perhaps the most critical way to learn these new skills, but “learning by teaching” can be just as effective. But what if you’re new to the world of programming and are still learning yourself? Even better! By teaching to others what you are learning yourself, you actually retain information more effectively than by study alone.
“In what scientists have dubbed “the protégé effect,” student teachers score higher on tests than pupils who are learning only for their own sake.”- Annie Murphy Paul
But as a learner yourself, how can you possibly offer anything of worth to teaching others? Anything you have to share is nothing new, right? Not exactly. There are always going to be people in the technology industry who are just starting out; who don’t know the information that you already do, limited as it may be. Take advantage of the fact that there’s always someone somewhere who doesn’t know as much as you. Your unique insights might just be the difference between someone understanding a concept or not.
So how can developers, novice and experienced alike, actually go about teaching what they’re learning? Here are four easy ways to begin learning by teaching:
One of the quickest and easiest ways to start learning by teaching is to keep a journal. This is especially true for those who particularly doubt their potential effectiveness in teaching others. By taking 10 or so minutes each day to explain in writing some important concepts you’re learning yourself, those ideas are being more deeply etched to your memory.
“Sometimes just the act of writing… or drawing something causes you to make connections you didn’t make before, instantly deepening your knowledge.”- John Sonmez
So even for those who are most timid to teach of all, there really is no excuse when it comes to journaling. Jot down some blocks of code from your studies and explain what each line, each symbol means in context. Be as thorough as possible, making sure you understand exactly what is happening in the code.
Pull out a spare notebook or buy something fancy from your favorite bookstore down the street… however you do it, just start journaling!
Similar to keeping a journal, another great way to learn by teaching is by creating a blog. However, perhaps the advantage to blogging over journaling is having an audience to which you are accountable. Although your blog should be kept with the goal of your personal learning in mind, it can also help to feel the pressures of explaining content well enough for others’ understanding as well.
“The act of taking your thoughts and putting them into words will gain you the benefits of increasing your own understanding and reorganizing thoughts in your mind…When you first start writing, it doesn’t usually come easily. But, don’t worry too much about quality. Worry about communicating your ideas. With time, you’ll eventually get better and you’ll find the process of converting the ideas in your head to words becomes easier and easier.”- John Sonmez
This process of reflecting and writing helps us recognize holes in our own understanding, thereby forcing us to better organize the information in our mind.
Some great platforms to use for keeping an active blog include:
VIDEO OR PODCAST TUTORIALS:
If writing isn’t something you particularly enjoy, creating video or podcast tutorials are other fantastic modes for learning by teaching. The advantage to teaching others to code through videos as opposed to written lessons is that videos make it easy for others to follow along in a step-by-step process. The visual aspect of videos also tends to keep the attention of your audience longer than written approaches alone. Furthermore, videos and podcasts, unlike teaching in person, preserve your lessons for viewers to pause and rewatch at their convenience.
One major benefit to teaching others to code through video and podcast tutorials is that it establishes a cycle of never-ending learning for yourself. As found on Lifehacker.com, the more you teach [online], the more people will see you as an expert. And the more people see you as an expert, the more opportunities you’ll get to teach, thereby repeating an ongoing cycle of learning for deep mastery and teaching what you’ve learned.
“We’re also better at taking in the information initially, when we’ve been primed to think we’ll be teaching it to someone else later. It seems that this comes from a different way of approaching the learning material. We know we need to pay attention to the most important points and organize them in our minds, if we’re going to teach someone else.” — Belle Beth Cooper
Also keep in mind the words of Albert Einstein when he said, “If you can’t explain it simply, you don’t understand it well enough.”
Creating regular video tutorials and/or podcasts will likely take some time and effort beyond that of keeping a journal or blog. However, the benefits to your learning as a developer will be tremendously enhanced, taking you from beginner to expert in a matter of no time at all.
For some great inspiration for making video tutorials, check out:
You can’t discuss teaching without considering face-to-face instruction. Teaching others in person requires being able to structure your thoughts on a topic and make sure you fully understand the lesson you’re passing on. When it comes to learning by teaching, the greatest advantage to teaching in person is the live interaction between instructor and student(s).
“Feedback from [students] further enhances the tutors’ learning. The [student’s] questions compel [instructors] to think and explain the material in different ways, and watching the [student] solve problems allows [the teacher] to see their knowledge put into action.” — Annie Murphy Paul
Becoming a private tutor or small-group instructor does NOT require that you have a special teaching license. It’s really quite easy to get started by posting ads on social media outlets, asking schools if you can leave flyers in the main office, or just by word-of-mouth. You can also keep it more casual by teaching children, siblings, other family members, and/or friends. And don’t forget about your peers in bootcamp. Fellow classmates are often so overwhelmed by activities in class that they’ll gladly welcome some helpful instruction from a well-meaning peer.
There are a variety of methods and strategies you can take to teaching others to code in person. Some of these include side-by-side pair programming, live coding, and using authentic tasks. Brown and Wilson share “Ten Quick Tips for Teaching Programming” here.
According to James Clear, creator of Habits Academy:
“Successful people start before they feel ready.”
Teaching works in just the same way. As learners in our always-changing field of web development, we may not feel that we have anything of worth to share with others. However, focus instead on things you HAVE learned and how those small lessons might help someone who’s never heard the concept before. Remember that there is ALWAYS someone who knows less than you. All you have to do is reach out and help them and by so doing, you’re also helping yourself. Learn to code by study, yes, but really learn to code by teaching.