I wasn’t exactly bad at maths in school.. but not great either. I remember a teacher advising me that, even if I found it hard, staying in the higher class for as long as possible would be better than switching down. I stuck at it and scraped a pass on the higher paper.
Afterwards, I was asked to give some extra lessons to a cousin who was struggling with a lower level. For the first time I started to think about it in a different way - how can I actually explain what I know to someone else? We did some lessons and with every question she asked, I found that I gained a deeper understanding.
I went on, gave more lessons to some nieces and nephews.. and in college to some class-mates.. going over the same material each time, and each time understanding it myself better… and that vastly improved my ability to explain it.
I’ve had the same experience teaching Kung Fu. In the very beginning, I raced to pass what I knew on.. but in an unstructured fashion. Students asked me questions, having completely different problems to the ones I had experienced. It challenged me, made me a better teacher, and a better student. With each new student I learned the basics anew... I learned things I would never have, had I not started to teach.
Likewise, when I visit my Sifu, the knowledge that I will be soon be teaching the material to my own students makes me think about it in a much deeper way.
So, the teacher/student relationship is very much a two-way street, with each party learning from each other. In Kung Fu there are formal titles for participants, from ‘Si-fu’ (teacher/father) to ‘Si-hing’ (senior classmate), to ‘Si-dai’ (junior classmate).. But all of the titles begin with ‘Si’ - ‘teacher’.
So, as with life, everybody is a teacher. Or, at least, there is nobody from whom you have nothing to learn...