I couldn't agree more. I saw that in two situations:
- I started blogging recently, and found that having to actually write my thought in an organized way forces me to really learn and understand the topic
- When I was a student preparing for a competitive exam (one where your rank determines the school you go to and the other students in your class take it "against" you), some people refused to help others, thinking they would beat them in the exam. In fact, I found that helping other actually helps you even more, and overall, the "helping students" fared much better in the exam
I restarted blogging as well recently, and found the same thing. I've got a couple of under-documented JavaScript topics that I appear to be blogging about (one just under-documented, one brand new). Only catch is, I don't really know Javascript. I mean, I know it in the "sure I can make that thing bounce around your screen" way, but I've never worked with it on the server side, ever.
Blogging about my progress has reinforced how little I knew. In going to explain a topic, then suddenly realizing I didn't know how to explain it, I just knew how it was supposed to work. This has put a spotlight on what I didn't know, and I find great value in it.
The other upside is that people apparently think I'm kidding when I say "I'm just learning this" in my blog, because I routinely get questions via IRC of a much more advanced nature from people trying to extend what I've taught. I like to help, so I always give it a shot, and usually that means diving into source and learning more -- win/win.
Of course, sometimes I'll go answer a question on something I thought I knew really well, only to find out that I don't. I found out the other day that I don't really know how Django's form binding works. Somebody pointed that out, and now I do.
A sub-topic about this could also be that "Discussing something is the second-best way to learn something." I've never been one of those guys who hung out in chat rooms all day, but honestly, I didn't know what I was missing. Lurk around in #python for a day and I almost guarantee you'll see something you didn't know.
- I started blogging recently, and found that having to actually write my thought in an organized way forces me to really learn and understand the topic
- When I was a student preparing for a competitive exam (one where your rank determines the school you go to and the other students in your class take it "against" you), some people refused to help others, thinking they would beat them in the exam. In fact, I found that helping other actually helps you even more, and overall, the "helping students" fared much better in the exam