There is a great diversity of material for improving programming skills and knowledge. It's no great task to give examples of books, blogs, videos, live-streams, interactive tutorials etc. This diversity makes our profession better.
A surprising inclusion in this list is the podcast, which one might expect to be a bit useless: we work with a lot of plain text, complex data structures, design and layout. At first blush, this seems like poor material for a purely aural medium.
Nevertheless, I derive great enjoyment and value from listening to other programmers talk about their craft and I recently had an object lesson in why.
While working my way through the back-catalogue of the Giant Robots Smashing into Other Giant Robots podcast, I listened to a conversation between Ben Orenstein and Matt Knox about deliberate practice for programmers. A few days later, I have a Github repo for my kata and whole bunch of energy for them that I didn't have last week.
That's not a bad return when all I started with was a half-hour of dishes and a free MP3. Where did I find this enthusiasm, and why is the podcast the perfect medium to go looking for it?
An obvious benefit of listening to other professionals is that it keeps good ideas front-of-mind. Kata for programmers is hardly a new idea (heck, Jeff Atwood wrote about them on CodingHorror, so pretty much everyone has heard of them) but it's easy to lose focus and drive in that amorphous category of "professional development" without the occasional injection of perspective. Regularly exposing oneself to the ecosystem of good ideas is a good way to stay on track.
Podcasts also have more emotional weight than blogs or Hacker News. Much as one might like to be a perfectly rational logic machine, a little tug on the right heart-strings can be wonderfully effective. There's a palpable excitement, an infectious enthusiasm that emanates from professionals keen on their craft, and it comes through headphones loud and clear.
And in case this all seems like perfect fellowship and sunshine, there's a slightly pointed aspect to consider as well: competition. Besides being sources of inspiration and content, the characters coming down over WiFi can be the masters we seek to surpass or the antagonists against whom we prepare our opinions. As much as we need idols and peers, rivals and tyrants also have their uses.
So for code snippets and clever hacks, blogs are still king. Videos and prose will win out in the domain of architecture and lofty ideas. But as long as I aspire to a better technical culture than I inhabit, I'll listen to podcasts to make up the difference.
Finding good programming podcasts can be a bit challenging. There are a ton of options to choose from and Sturgeon's Law definitely applies. Try lots of things, be selective, and use an RSS reader or podcatcher to automate your subscriptions. Here are a few solid offerings to get you started.
Giant Robots Smashing into Other Giant Robots. I wasn't really excitied about the business possibilities of being a developer until I heard some of these stories. Particularly good episodes include the aforementioned interview with Matt Knox and an older interview with Brennan Dunn about the business side of being a small independent developer.
The StackExchange Podcast. Worth listening to if only for Joel Spolsky. Lots of good content about scaling up a massive website, online reputation systems, and huskies. The episode about keeping a datacenter running through hurricane Katrina was particularly memorable.
The Cognicast. This one used to be ThinkRelevance (the consulting firm that produces it merged with another one--names and URIs were changed). Often features Clojure and other functional programming topics. This interview on testing is a good one.