How I came to create Fluent C++
Getting better by teaching
I’ve quite recently come to the realization of the immense value of teaching. Not teaching as in formal education, but rather teaching as in explaining things to people, clearing the confusion around a topic, or simply sharing something I’ve learned.
In a nutshell, when you teach, you get better at the topic you teach. And pretty fast. Obviously, you bring value to others, but this is… the obvious part.
In more details, I found that when you teach you find yourself in a position where you have to know, you have to understand AND you have to have some hindsight on the topic you’re talking about. Maybe you have these, and then you are set up for teaching. But maybe you don’t, and this is where the magic of teaching happens.
By having real people in front of you (or reading what your write), these pairs of eyes staring at you (or at your prose), offering you their full attention for a certain amount of time, you need to know, understand and have hindsight on your topic. This reality (or the projection of it when you’re preparing for teaching) gives you the impulse and attention you need to master a topic, and actually being able to teach it. When preparing for teaching, you make the effort to both take a step back from what you know in order to get the big picture, and get down into precise details, because you need to be accurate when articulating your thoughts to your listeners. I found that the big picture often comes after you’re clear with the details though.
If you “only” understand something, without explaining it to someone else, the only thing you have about it is thoughts. And thoughts are deceiving. You may have the feeling that your thoughts are complete and thorough, but your brain may well be filling or hiding some missing areas, without even your being aware of it. On the other hand, taking your knowledge out of your brain and exposing it to somebody else makes you play it out in the light, instead of the comfy space of your thoughts.
Several things made me realize all of this, and I must say that one them is John Sonmez’s excellent book Soft Skills. This book is about everything in software development – everything but the code itself. Amongst many other things, the author talks about the importance of teaching to bring value to others and become a better software developer. (By the way this book is a mine of information, that makes you realize a lot of things about what makes a successful software developer. I would advise every software developer to read it!).
Doing it with a blog
I also realized – still by reading Soft Skills – that having a blog would be an extremely useful medium for teaching.That said, I think that many developers do think it would be a great idea to have a blog but few do set up one, let alone post on it regularly and have a mass of followers.
I was in that very case, vaguely contemplating the idea of starting a blog anytime soon, but that anytime soon was dragging to weeks, and then months. I was still waiting to gather information on what platform I would do it, still waiting to contact this web developer friend of mine to get some advice to do the perfect thing, still waiting to have more content to share. Waiting and waiting, because – let’s face it – I just didn’t know how to make a blog, let alone a successful one.
Then one day I received this email from John Sonmez’s blog Simple Programmer mailing list, that offered a free email course to start a blog and get on the right track to make it successful. I jumped on it (it is free!) and following John’s advice made setting up a blog the easiest thing in the world. The course is really not difficult to follow, and brings great value. If you want to start your blog and are not sure what’s the best way to succeed, do enroll in John’s course, it’s really worth it.
Teach, teach, teach, and start a blog. If you don’t do it for others, do it for yourself.
Don't want to miss out ? Follow:   Share this post!