Since beginning my software engineering journey in 2016, I've constantly been looking for ways to improve myself as a developer. Like many others I've consumed tutorials, online courses, read books, and built side projects. These are all very direct ways of improving my development skills, but I see podcasts as more of an indirect avenue for growth. I find podcasts to be a very easy way to improve myself in my free time, since I normally listen to podcasts when I'm doing yard work, cleaning around the house, and working out. For me it's win-win, mundane tasks and chores are no longer boring or time-wasting and I can take the time to learn something new while enjoying a podcast. This brings us to the first point that I'd like to discuss with podcasts, which is the idea of Passive Learning.
Passive Learning with Podcasts
One of the things that I love most about listening to podcasts is that you can listen to them while doing just about anything. Like I mentioned earlier I really enjoy listening while working out, doing yard work, and accomplishing other chores around the house. My intention when listening to podcasts isn't to gain a deep understanding of a topic, but to pick up on little insights here and there. I like to think of what I gain from podcasts as being a form of passive learning. It is very much a one-sided conversation, that is the podcast host(s) and potential guest(s) speaking and all I need to do is listen in and absorb the content. Consuming a podcast is also a relatively low risk activity in terms of opportunity costs of doing something else. What I mean by that is while I'm doing yard work or working out the alternative to listening to podcasts would be (a) listening to nothing (b) talking with someone else, if you're not doing the activity alone (c) listening to music. I am mostly doing these activities alone so the tradeoff of listening to podcasts during that time for me is very little. There is definitely benefit to those other activities and I wouldn't necessarily recommend listening to podcasts at the dinner table, but if you're doing some activity alone I'd say podcasts are a great companion. That's a pretty high-level view of what I enjoy about podcasts, but I'd like to go a little bit more in-depth on how I believe they have helped me grow as a developer.
Listening to Podcasts for Developer Growth
I think anyone who has been a software engineer for any length of time will know that there is an endless amount of information to consume in the realm of software and technology. The field is constantly changing and evolving right before our eyes and it's our job to keep up with the times. If you don't keep up, you'll get left behind. It's as simple as that. So, how do podcasts fit into all of this? Well, I think software and technology podcasts are very beneficial to keeping listeners aware of the changes happening throughout the development landscape. Often times if there is a new framework or release of popular software, maintainers will be invited on as guests to discuss features. Podcasts have advertisements that explain the benefits of popular software (I feel like monitoring solutions dominate this space. Looking at you Data Dog and New Relic 😉) which can be helpful in understanding different solutions available for common problems.
I also aspire to be a 'T' shaped developer. I'm not exactly sure where the term came from or who coined it, but essentially I want to have a little knowledge on a broad set of technologies. This is the horizontal line at the top of the 'T'. At the same time, I need to have deep knowledge of a much smaller subset of technologies. To give an example, I am a software engineer that writes mostly backend code currently on the .NET stack. It makes sense for me to want to have a deep knowledge in the .NET and ASP.NET ecosystems, database technologies (an area I've been focused on improving recently), unit and integration testing, HTTP, etc.. It also makes sense for me to have at least a basic understanding (think the horizontal line at the top of the 'T') of front-end technologies, DevOps practices, UX design, system administration, containerization, authentication and authorization, etc. I am always in conversations with teammates who specialize in these areas and it is definitely beneficial to have a basic knowledge and a point of reference for efficient dialogue. The amount of information for us, as software engineers, to consume is too vast to be an expert at everything. In my opinion the next best thing is to have the knowledge to be able to ask the right questions and podcasts put me in a position to do that with a variety of topics. Now that you know a bit more about how I believe podcasts have helped me grow as a developer, I'd like to share a few tips for consuming podcasts.
Tips for Efficient Podcast Listening
I've become an avid listener of podcasts over the last few years. In that time I've listened to many different shows and trialed many different apps and mediums for listening. In this section I'm going to share a bit of what I've learned and hopefully provide some helpful tips for listening to podcasts efficiently.
Don't Be Afraid to Unsubscribe
Almost any podcast you listen to will urge you to like, comment, and subscribe at some point in each episode. If I've felt that a podcast merits subscribing, I won't hesitate to do so in the hopes that I'll consistently listen to future episodes. However, there may come a time with certain shows where episodes are no longer as interesting or sometimes it seems like a chore to listen to each episode. This is the point where I think it's fine to unsubscribe. I treat podcasts as a form of entertainment and a source for learning, so once I feel that a podcast isn't hitting the same notes that it used to previously, I'll unsubscribe. I'll almost always check back periodically for episodes that may interest me, but I'll usually feel a little weight lifted off my shoulders after unsubscribing to a podcast that has become stale for me personally.
Increase Playback Speed
One of the most revelatory changes that I made to my podcast listening habit was to increase the playback speed. Almost all podcast players have the ability to change the playback speed by factors of at least .25. I increased playback speed gradually by increasing from 1X to 1.25X. Once I felt comfortable with that speed, I moved to 1.5X and onwards until reaching 2X. Listening at 2X playback speed allows me to consume twice the content in the same amount of time, which is pretty awesome. It requires a little bit more focus and ear training to get used to, but once adjusted its hard to go back to normal speed. I highly recommend trying this out.
Read the Show Notes
The final tip I have is pretty simple. Read the show notes. I've found this useful for a few reasons. First, if there is a guest on the episode, chances are there will be ways to keep up to date with them (ie Twitter handle, website, blog, etc.) in the show notes. Second, many podcasts have advertisements and many advertisements have codes or URLs to use for discounts. Oftentimes these codes or URLs will be included in the show notes. Lastly, I find reading the show notes before listening to the podcast helpful for providing some context and expectations for what will be included in the episode.
I hope these tips improve your podcast listening experience or possibly provide ideas for creating your own unique listening habits. Now let's take a look at the podcasts that I am currently enjoying.
My Podcast Lineup
Before getting into this list I'd just like to take a moment to appreciate all of these podcast creators. In almost all cases the creators and hosts are volunteering their time with very little in return. The amount of value that I've gained from every episode makes me forever grateful that they've invested their time and effort to create such amazing content. Now for the list 😊.
CoRecursive
CoRecursive is hosted by Adam Gordon Bell with episodes released roughly once a month. I enjoy CoRecursive because each episode focuses on the story behind software and the software engineer as opposed to just the software itself.
The Stack Overflow Podcast
The Stack Overflow Podcast is hosted by Ben Popper and Paul Ford with episodes released twice per week. The SO Podcast is normally 20-40 minutes consisting of interviews with engineers, developer advocates, open source maintainers, etc..
Coding Blocks
Hosted by Michael Outlaw, Joe Zack, and Allen Underwood with episodes released weekly. I look forward to each new episode of Coding Blocks. They do a great job at making the show interesting, fun, and a joy to listen to.
The Changelog
Hosted by Jerod Santo and Adam Stacoviak with episodes released weekly. If you've never heard of the Changelog before, I highly recommend checking them out. They're more than just a single podcast. They have a network of podcasts (like JS Party below) that touch on many different areas of software and technology. The conversations in each episode are very interesting and I always walk away having learned something new.
Ladybug Podcast
Hosted by Sidney Buckner, Kelly Vaughn, Ali Spittel, and Emma Bostian with episodes released weekly when in season. This has recently become one of my favorite podcasts. I love the perspective that they provide in each episode as they break down topics across the software and technology landscape.
Hanselminutes
Hosted by Scott Hanselman with episodes released weekly. It's hard not to like Scott Hanselman and everything he does. I love the variety of his guests and also just his NPR-like demeanor.
.NET Rocks
Hosted by Richard Campbell and Carl Franklin with episodes released weekly. I think .NET Rocks was one of the first podcasts I subscribed to that related to software and its never left my feed. I've done a lot of .NET develop in my career so far, so each episode usually resonates with me and my day-to-day.
Merge Conflict
Hosted by James Montemagno and Frank Krueger with episodes released weekly. I love this podcast. James and Frank both have backgrounds in Microsoft stacks so it's fun to hear their perspective on different topics. They also talk a lot about mobile development, which I find super interesting since I haven't had the opportunity to write many mobile apps.
JS Party
Hosted by a rotating panel of hosts with episodes released weekly. The variety provided by this show is pretty amazing. Each episode is a breath of fresh air from the rotating panel of hosts (some of which overlap in other podcasts in this list 😊). The name is pretty self-explanatory. This is a pretty JavaScript-focused podcast that discusses mostly web development. I find it useful to keep up with the latest trends in front-end stacks.
Honorable Mentions
Lex Fridman Podcast
Hosted by Lex Fridman. Lex's podcast focuses regularly on AI and Machine Learning, so if you're into that this one may make your regularly scheduled programming. Although I am currently not deeply interested in AI or ML, Lex does have some really great episodes with prominent figures in software and technology. Some of the names include Donald Knuth, Jeff Atwood, Guido van Rossum, Peter Norvig, and Bjarne Stroustrup. Definitely worth checking out these episodes.
Flow State Podcast
Playlist podcast by Bobby Lyte. This one made my honorable mention because it's more of playlist than a podcast, but it shows up in Spotify as a podcast. I love this because it provides a routine to focus on, which is based on the Pomodoro technique. Each episode contains a few 30 minute blocks of focus music broken up by brief three minute(ish) breaks that provide a chance to step away from the keyboard and refocus.
I hope that you've enjoyed learning about how I think podcasts can help you grow as a software developer. If you have any podcasts that didn't make my list, but you'd recommend definitely send them my way!