Or: Why talking through it makes me a better programmer
(And maybe a better person)
If you know me, probably something you know about me is that I like to teach. Happiness is nothing if not shared; I like to share.
A lot of people ask me why I think that teaching is so much. And at the end of the day, the only thing I can really tell them is that the world is big. Really big. You just won't believe how vastly hugely mindbogglingly big it is. (If we're going to start this blog with a positive jam, let's go to the big man himself.) There's something incredibly satisfying about seeing the lights go on and the wheels start to turn when someone gets their first loop. As an academic, my life is pretty often an exercise in delayed gratification. But when you've done a good job teaching, your student goes from a pupil to a colleague. That's powerful stuff. Makes my day, right there. Of course, there's also the altruistic stuff: you helped someone get to where they needed to be, you're helping them make a better project. But feeling good keeps you coming back. But if you're not convinced, I've compiled a list of reasons why teaching skills (not just programming - could be any skill) to novices helps us all be better:
- I am a more articulate person for having to break ideas down into bite-sized pieces +I am a more patient person for helping someone take their first steps. +I am a more conscientious programmer for seeing all the creative solutions my students-cum-colleagues come up with. +I'm better at documenting code, knowing someone who needs help might read it. +I actually kind of like the sound of my own voice. That's something I never would have said when I started graduate school.