Why teaching helps you to learn
I've been teaching recently in a couple of different ways. The first one has been 'how to learn a language', which I've been teaching indirectly for a while. About 3 months into learning Mandarin I begun to get a lot of compliments from natives and other Chinese learners about how good my Chinese was for the time. Rather than let this get to my head, I began to share why I had got to this level. At the beginning I'd politely say it wasn't that good, or 'it was just down to hard work'. But as I talked about it more and more, I began to rationalise my own methods and broke them down into component parts to share as lessons to anyone about language learning. This helped me to create a talk, which I gave at work at Specialmoves about language learning, which I taped and put on youtube here.
Since then I've been spreading what I've learnt to other language learners that I meet, especially Chinese people learning English. Although I'm not very good at teaching English (as it largely doesn't appeal to me), I am becoming very good at facilitating the creation of an environment that enables you to learn, especially beginning to learn a language. This blog in itself is a teaching platform and just by rationalising my ideas on here I learn more than I ever would if I just kept everything to myself.
The other thing I've begun to teach recently is Web Design. I've been in the industry for almost 4 years now and since then I've become better and better at making websites. I've taught a few people here and there, but recently I've been mentoring and teaching a couple of friends as I freelance and learn Chinese in Taiwan. Since I've been doing this, I've realised how much you learn from teaching. And this is what this post is about, how you can use the process of teaching to facilitate your own learning.
It helps you to reinforce the basics
I've had a short break from making websites since I started travelling and when my friend begun to learn from me, there were definitely things that I was rusty with. Just by teaching him from the beginning I began to recall all of the things I've learnt over the last few years and even learnt a few things myself. No matter how many times you go over the basics, you will always learn something - no one does everything perfectly. And it's a much more interesting way to recall the basics than by re-reading a textbook meant for beginners.
Forces you to adhere to standards you set for your own students
In web design this is especially important as there are certain conventions that you should do for your own benefit and for your user's benefit. And in language learning I feel it definitely helps you to build good habits when you talk about what habits you _should _have. It's not as strict as in web design, but learning is all about habits, keeping up good ones and breaking bad ones. When you talk about how you learn something you will automatically endeavour to live by the code you preach. By preaching it you also allow yourself to cement the concepts more deeply.
You break down concepts, which allows you to view things from a different perspective.
Beginners won't understand any jargon and they don't understand the concepts like you do as a professional or experience learner. Through teaching you will see a lot of blank faces over your career when you explain a concept that seemed so simple to you. You need to put yourself in their shoes to teach things effectively, to see things from the students perspective and a different perspective always allows you to see more.
Just because you know something doesn't mean you can teach it. To properly teach something to a beginner, you need to relate the concept to concepts they already know. It's basically like learning through context. I like to use a lot of metaphors when teaching and I feel it helps a beginner to grasp a concept more easily if you speak in _their _language. This true for web design where all concepts would be foreign to a beginner and this is _literally _true to someone learning a language as they know absolutely nothing. By speaking their language such as their native language, body language or something else universal like imagery, you can begin to get your message across.
I do this a lot when I teach web design. To properly teach a concept you need to forget what you already know about it and break it down into it's component parts so they can be more easily understood by the student.
For anyone that knows front-end web development, this should makes sense to you. And to those that don't, this should help you to understand what we do and the main aspects of front-end web development. This is how I like to teach:
It's easy to just keep learning new things, especially if you're learning from a syllabus or a textbook that someone has already written for you. But if you're blindly learning sometimes you don't realise how these things actually fit together in the end. Even when you become a professional, you still might not know how they fit together perfectly - or you do, but it's just a 'feeling'. Just like in English, I know how the grammar works, I know when it's right and when it's wrong, but it's just a feeling most of the time. Most of the complicated grammar rules I don't know at all, and if I was correcting someone, I can only tell them if it's right or wrong and not why.
By understanding the big picture and why things should be done, you can re-enforce good practice, standards and also re-invigorate your own learning.