I spoke at WordCamp Atlanta 2017 on how you could use teaching as a learning tool. This is the companion article that I wrote for it. If you’re just looking for the slides, click here.
As WordPress developers (or developers in general), we’re always looking to improve our skills. We read blog posts, watch screencasts, listen to talks at WordCamps and so on. These are all great ways to learn new things.
But there’s one way to hone your programming skills that doesn’t get as much attention as it should. It’s “learning by teaching“. Teaching is a great way to improve your skills as a developer.
Now, you might be wondering, “Seriously, how can teaching make me a better developer?” People don’t tend to associate teaching with skill building. After all, how could you teach something if you didn’t know it already?
That’s a good question! It does feel like this shouldn’t be able to work. But it does! And that’s why it’s worth taking a better look at this idea of “learning by teaching”.
How can teaching improve your programming skills?
Let’s start by talking about the elephant in the room. How can this teaching thing work? Aren’t we putting the cart before the horse?
I don’t think that you’re wrong to think that! In fact, there’s a past version of myself that thought that too. This all changed when I started teaching. Which is why the following quote is so important:
If you can’t explain it simply, you don’t understand it well enough.
— Albert Einstein (?)
This quote is the major inspiration for this article. A lot of people (myself included) have attributed it to Albert Einstein. That said, it appears that he never said it. Regardless of who did (it was maybe Ernest Rutherford or Richard Feynman), I found that there’s a lot of merit to it.
The great deception
We often think that, if we just do things until they work, we’ll learn about them. There’s no question that that’s true. And that’s why “learning by doing” is such a popular way to learn.
But how often have you done something and someone asked you to explain it? How well could do it? I know that, before I started teaching everything I know, it wasn’t always easy for me to explain why I did things a certain way. I would just say something along the lines of “Well, I did it this way and it worked.”
This is the deceiving part of “learning by doing”. We often think because we managed to do something that we learned the theory surrounding it. This might have been true once, but it’s not true these days when an answer is just a quick Google search away.
It’s more likely that we learned where to find the solution to our problem. (We improved our google-fu!) But, more often than not, we’re not any closer to being able to answer why we did things a certain way. The theory and concepts behind the solution to our problem still elude us.
Taking it to the next level
“Learning by teaching” is like an improved version of “learning by doing”. You still have to get your hands dirty like you would with “learning by doing”. The big change is that you have to be able to explain what you did.
You’re accountable to your students now. You can’t get by with just a working solution anymore. (Well, you could, but you wouldn’t be a good teacher then!) You also need to be able to describe how you got to that solution so that your student can get there as well.
This is what makes “learning by teaching” so good. The accountability to our students changes the dynamic around learning. You’re not just learning for yourself anymore. You’re also learning so that you can teach it back to your student.
This puts pressure on us to really master the material that we teach. After all, a student could ask us a question about anything. You want to be able to answer these questions when they arise. (But don’t be scared of saying “I don’t know” either!)
Making things simple
We also can’t forget that teaching is also about communication. You’re trying to communicate an idea or a solution to your students. This means that they have to understand you. (And that’s why there’s a meme about me on that!)
This is where the earlier quote comes into play. It’s important to make things simple when you’re teaching to students. If you make things complicated, there’s a good chance that they won’t understand you.
But simplifying a topic is hard. This often implies that you need to find the essence of that topic. And then you need to distill and reorganize it so that it’s understandable to your student.
This requires that you use more effective learning strategies. Strategies that you wouldn’t have used otherwise. The result is that you have a much greater understanding of the topic than if you had just tried to apply it.
This is the hidden truth behind the earlier quote. If you can’t explain a topic in simple terms, there’s a good chance you don’t understand it well yourself. And, if you don’t understand it well yourself, it means that you didn’t learn it as well as you could have either.
When do you know enough to teach?
Alright, so I’ve convinced you that “learning by teaching” is awesome. You’re ready to start, but there’s something holding you back. It’s the fear that you don’t know enough to teach somebody else. (Good ol’ impostor syndrome!)
This is a bit of catch-22 with “learning by teaching”. (Or teaching in general.) We want to teach. But, at the same time, we don’t think that we know enough to do it.
The fact of the matter is that you might never feel like you know enough to teach. And that’s ok! There’s more to teaching than what you know.
Communication above all
In practice, there’s isn’t always a correlation between teaching and what you know. We’ve all had that teacher that seems like they know a lot, but don’t teach very well. This is especially common in college where a teacher might only be there to do research. (But the university forces them to teach as well.)
This goes back to what we talked about earlier. Teaching is about communication with your students. What’s important is that they understand you.
You don’t need to have a PhD in your field to be able to do that. Instead, what you need is empathy. That way you can put yourself in their shoes as students. What you know doesn’t matter as much.
You don’t have to know anything at first
In fact, you could teach something that you knew nothing about at first. That’s how “learning by teaching” works in an educational context. If you’re not familiar with it, here’s how it works.
The class’s teacher will break up students into small groups. Inside each group, each student gets a topic to learn and teach back to their group. This forces every student to use effective learning techniques to learn their topic.
When the student teaches the topic back, they also have to answer questions from other students. Answering questions and the surrounding discussion helps the group crystalize what they’ve learned. This tends to give better results than just passive learning by listening to a teacher.
The good news is that you can do the same thing as well. There’s nothing preventing you from picking a topic that you want to learn and then teaching it. As we’ll see in a bit, you don’t need a classroom environment to do it.
This doesn’t mean that you won’t be wrong
As you can imagine, there are also limits to this strategy. (It’d be a bit hard to learn spinal surgery on your own and teaching it back!) But for us WordPress developers, there aren’t many such limits. That said, it’s still good to mention that there are limits to what you can teach.
That’s because it ties to another important point about “learning by teaching”. It’s that teaching doesn’t mean that you’re always right. This might seem obvious to you, but it’s still worth repeating.
Now, there’s nothing wrong about being wrong. (That sounds a bit weird to say!) If you do your homework and research the topic well, odds are that you won’t do any serious mistakes. (Famous last words!) After all, the whole point of “learning by teaching” is to learn something well and then teach it back.
So where’s the limit for us WordPress developers? There are no rules here to guide you. But I think it’s always worth thinking the impact of being wrong if you’re going to teach something new.
What do I mean by that? Well, let’s imagine that I’d like to teach something about mental health. But I don’t know anything about that topic and I’ve never had any mental issues either. (Or, at least, that I know of!)
This would be a topic I would hold off teaching. That’s because the impact of being wrong is very high. If I’m wrong, I could cause real harm to someone else. This, to me, outweighs the benefit of “learning by teaching”.
But, lucky for us, there aren’t that many topics like that one. So it’s not something that you should worry about too much. That said, it’s still important to point it out.
Where can you teach?
Now, it’s one thing to decide to teach, but it’s another to do it. The biggest hurdle for some is finding the right medium to teach on. So let’s look at some of them and see what are their advantages and disadvantages are.
Write on your personal website
The easiest and most popular medium to teach on is on a personal website. We all know (or at least we should know!) how to set up a WordPress blog. (But you could use something else too!) So it’s just a question of picking a topic and writing about it.
Writing a blog post is also pretty risk-free. You write it and press publish once you’re done. There’s nothing more to it. That’s why most of us start teaching by writing blog posts.
Promoting your blog post
That said, most of us want to promote our blog post so that other people can see it. There are various reasons why you’d want to do that, but they’re not important here. What’s important is that it can be a significant hurdle for someone to promote their blog post.
For some, just pressing the publish button is an act of courage. (I definitely felt that way at some point.) You feel vulnerable to have something you wrote out there on the internet.
But promoting it puts you out there even more. This can be a hard jump to make if publishing the blog post made you feel nervous already. So it’s ok if you prefer to not do it.
But even if promoting your post doesn’t make you nervous. It’s still not easy. That’s why there’s a lot of blog posts out there on how to promote a blog post. It’s the major hurdle with teaching on this medium.
Do a presentation
Let’s say that you don’t feel like writing or that you’re already writing. What else can you do? Well, you could do a presentation on a topic that you want to learn.
This isn’t too hard to do in the WordPress community. There are a lot of opportunities to do a presentation. In fact, that’s one of the best parts of being part of the WordPress community!
Most major cities (and even smaller ones!) have local meetup groups. These meetup groups tend to have events every month. The types of events that these groups can vary.
Some might be of the social kind where everyone meets to talk about WordPress and/or try to network. But most events are more educational in nature. Someone will come and do a presentation in front of the group on a specific topic.
Well, that person could be you! Speaking at local meetups is a great way to get started with teaching. This is also how a lot of people in the WordPress community got started with public speaking. (For example, that’s how I got started!) You get to speak to a small crowd of passionate and supportive individuals.
This prepares you for the next big thing which is doing a presentation at a WordCamp. Most cities with a local WordPress meetup groups also have a WordCamp. That’s because having a local WordPress meetup is mandatory for having a WordCamp. (Most cities start their meetup group with the goal of organizing their first WordCamp.)
The great thing about WordCamps is that there are a lot of them. (There were 116 WordCamps in 2016.) This gives you a lot of opportunities to learn new topics and teach them to others. (This also assumes that you get accepted which might not happen on the first try.)
The only problem is that it does require you to travel. That said, if you’re in the United States, there are some regions that have a lot of WordCamps. This means that you can drive down without having to spend a fortune on a plane ticket.
Public speaking is scary
If publishing an article can be scary for some, public speaking is scary for most of us. This is the major hurdle with this teaching medium. And it’s not easy for everyone to get over it.
That said, anyone can overcome it with time. I suffered from severe stage fright throughout my childhood. (I was pretty shy if you’d believe it!) It got better when I started doing more and more talks at WordPress meetups and WordCamps. (I do WordCamps most of the time now.)
It might never become easy or natural. But the WordPress community is one of the friendliest and most welcoming communities around. If there’s a community that can help you overcome this fear, it’s this one!
Give a workshop
In the similar vein as public speaking, you have workshops. Workshops are a lot like teaching a class. You give a presentation in front of a group and then do practical exercises with them.
Workshops at WordCamps
Workshops have been popular with developers for decades. That said, they’ve only started appearing at WordCamps in the last 2-3 years. (For example, WordCamp Montreal has given workshops the last two years.) And it’s pretty safe to say that they’re here to stay.
These WordCamp workshops function a lot like regular WordCamp talks. You have to apply for them like you would for a talk. You’re also not paid either.
That’s because these WordCamp workshops are often free. But sometimes they’re a paid extra on top of the normal WordCamp ticket price. It depends on the WordCamp organizers.
But you can also give a more traditional paid workshop too. Some members of WordPress community have started giving those as well. These require a varying amount of work depending on how much you want to charge for them.
The more expensive ones are a lot like organizing a conference of your own. You need to book a venue, plan for lunches, snacks and so on. But you also need to market and promote it so that you can find people to pay for it.
These things won’t happen by themselves. You (or a partner) will have to handle them. And that’s on top of preparing for the workshop itself.
Workshops require more preparation
This is a good time to bring up the topic of preparation. Workshops require quite a bit more preparation than any of the other mediums that we’ve seen so far. In fact, it’s the teaching medium that requires the most preparation. (At least, that we’ll see!)
That’s because a workshop should have concrete takeaways. Now, this is true for any form of teaching. You should always strive to have good takeaways for your students.
The difference with workshops is the level of expectation. Your students expect to leave knowing things that they can apply back at their work. You don’t want them to leave feeling like they haven’t learned something practical. If that happens, they might feel like your workshop was a waste of their time. (And their money if they paid for it.)
That’s why a workshop needs more preparation. You have to do a lot of the same work as a presentation. Most workshops still use slides and you still need to rehearse for it like you would with a presentation. (Unless you don’t rehearse for a presentation!)
But you also need to prepare practical exercises to do during the workshop. These are the most important part of the workshop. Your student’s takeaways more often than not come from these practical exercises.
By teaching, we learn
This is a latin proverb attributed to the Roman philosopher Seneca. Back then, the idea of learning by teaching was popular enough to be a proverb. Today, it’s just a fringe idea that researchers have started looking at again.
But that doesn’t mean that the idea doesn’t have merit either. As developers, our profession pressures us to be in a constant state of learning. And dealing with this reality is a challenge in itself.
It’s also why using more effective learning technique is so important. After all, we want to give ourselves the best chances to learn something well. And “learning by teaching” is one way that we can use to achieve that.