In a nutshell…“write about programming.”
Longer version (the quote comes from an interview Dave did with The Code Project):
“What advice would you offer to an up-and-coming programmer?
Write about programming. Start a blog, answer questions on The Code Project or Stack Overflow, or whatever else suits you, but find some way to write about programming.
I can’t count how many times I began writing about something I thought I knew thoroughly, only to find that I had to fill in several important gaps in my knowledge to write about it competently. Just as important, you have to learn topics more comprehensively to distill and teach them in simple terms. The combination of writing about programming and making that writing as clear and simple as you can is a powerful exercise.”
I couldn’t agree more with Dave’s advice, though I would expand it to “teach about programming.” Some folks enjoy writing, some enjoy making videos, some talking at user groups. All of these are fantastic ways to share what you know with others, and can also be a great forcing factor to make you fill those gaps in your knowledge.
I even recommend to folks that they present or write on topics that they know little about. Knowing that you have to get up in front of an audience and talk about a subject can be a very powerful motivator for learning that subject more deeply than you might if you were learning it for your sake only.
The full interview is worth a read, and don’t miss the comments on Dave’s blog post, particularly Dave’s observations on distractions. I identify all too well with the ability to get easily distracted, and I think being aware of that tendency and putting in place strategies for short-circuiting it is critical if you want to get anything accomplished in this…SQUIRREL!
(h/t Thomas L. McGrath)