These days I find myself listening to a variety of podcasts while working from home and doing random chores. I wanted to share the podcasts in the software field that I currently enjoy and have enjoyed over the past few years.

Podcast Apps

You can use any app, your browser, or even just download the audio files to listen to podcasts. You don’t need anything fancy. I do have to call out my favorite podcast app however. I have been a long time user and fan of Podcast Addict. This is a great option with a lot of functionality on top of just listening to podcast. It supports discovery, automatically downloading episodes in your feed, and custom playlists. It keeps track of the episodes you have listened to and provides offline backups too. The only drawback is that this is an Android only app.

1. Ruby on Rails Podcast

Link: Ruby on Rails Podcast

The Ruby on Rails Podcast is hosted by Brittany Martin who invites a guest each week to discuss topics related to Ruby on Rails. The topics range from discussions about the Ruby ecosystem, Ruby on Rails, open source work, and stories about individual developers in the field. This is a great podcast to listen to that is not super technical and instead focuses more on the engineers and industry. This podcast has an easy entry bar for listening in.

Favorite Episodes

287: Recruitment on Rails with Brian Mariani - Interesting episode from the perspective of a company the places Rails engineers. Brian from Mirror Placement, goes over how the company started, what the experience is like placing engineers, and what engineers can expect from the process. This was the most listened to episode for this podcast in 2019.

306: Ask For The Job with Brian Mariani (Part II) - This is the second episode that follows up and dives more into the actual recruiting process and provides helpful tips for engineers going through the process or interested in started the placement process.

283: Kill All Mutants with Dave Aronson - Very interesting podcast to listen to about mutation based testing. This is a radically different testing approach that performs bytecode manipulation during runtime to validate that your tests do fail on the right behaviour and that the tests themselves are testing the right things. Mutation testing can be considered a way of testing on tests. It validates whether we have gaps in the actual testing scenarios and makes sure that what are in actually testing is meaningful.

2. The Ruby Blend

Link: The Ruby Blend Podcast

This podcast is a relatively new one but already has a decent range of episodes. The podcast has a collection of interviews and discussions amongst ruby engineers in the field. The discussions are more technical but still very approachable regardless of experience. The podcast is ruby focused but still takes time to cover what its like from a personal perspective of being a Rails engineer.

Favorite Episodes

Episode 6: Working From Home - With COVID-19 forcing most tech companies to quickly adopt a work from home policy, this episode provides some great insights into how engineers are handling the sudden transition. This is great episode to listen to if you have been working from home for the first time or are interesting in hearing what other’s experiences have been so far. There are several suggestions that the hosts discuss that will make sure that your experience is a positive one.

Episode 8: Tests and Webpacker - Testing is a common theme in the ruby community. This episode covers some interesting points in testing along with webpacker adoption into Rails. The hosts go into detail about what their experiences so far have been and how they approach testing legacy Rails applications. The hosts also talk a bit more about how working from home has been going, which builds a little bit on top of episode 6, which was an episode dedicated to that topic.

Episode 9: ViewComponent at GitHub with Joel Hawksley - ViewComponent extends functionality when building views. This was initially designed to be integrated into Rails but ended up being an optional drop in. The library allows for using ruby objects to generate views. This allows for creating better tests again the generated views. The library was created by Github and is used internally by them. If you are interested in seeing some interesting changes to how views could be generated in Rails and better testing against them, check this episode out. Joel Hawksley is the maintainer and goes into details on what inspired its creation, why it did not get merged into the Rails 6 code, and what he believes to be the future of this gem.

3. Ruby Rogues

Link: Ruby Rogues

This podcast is part of the network which has a large collection of podcasts. Ruby rogues focuses on Ruby and Ruby on Rails but occasionally brings in guests from other stacks. This is a great podcast because it has so many episodes (approaching 500 at the time of this post). The podcast has a core panel with a few rotating hosts. Recently the podcast has been diving into Rails 6 and exploring javascript.

Favorite Episodes

RR 446: Development Environments - Everyone has their own preference for local development regardless of tech stacks. I enjoyed this episode because its always great to see if there are other tools and setups that others are using that might make you more effecient. The hosts go over what they use locally, why they use it, and what works or doesn’t work with their setup. Its a great episode to see what other rubyists are using for local development. Another good episode on this topic is RR 389: Developer Environment with the Panelists.

RR 434: Surviving Webpack with Ross Kaffenberger - This is the episode that convinced me to take a look at using webpack, vue, and Rails 6. Ross goes into great detail on what his experience was adopting modern javascript and webpack into Rails along with the entire process of upgrading Rails 6. This is an excellent episode to listen in on if you are curious on what that process looks like, and some great things to watch out for as well. I ended up listening to this one several times.

RR 388: RubyoCop and Code Linting with Bozhidar Batsov - The ruby community heavily invests in a testing culture and keeping readability in mind. The most popular code linting tool for ruby seems to be RuboCop. The author of the library, Bozhidar Batsov, is invited to discuss what inspired him to create it and what his experience is being the lead developer for it. Highly recommend listening into this one to learn more about the history of RuboCop and get an idea of its primary goals.

4. Developer Tea

Link: Developer Tea

Developer Tea is a podcast that covers what its like being a software engineer from both a social and emotional point of view. The host of the podcast, Jonathan Cutrell hosts this podcast and provides small inspirations in each episode. The purpose of the podcast is to help software engineers that are mindful about growing their career by providing tips and suggestions that will help that goal. The episodes themselves are lightweight and usually only last about 10 minutes, which is easy to fit into your tea break :)

Favorite Episodes

3 Ways to be a Better PR Author - This episode goes over some amazing tips and a change in thinking to create pull requests. This one is a great listen and the biggest takeaway is to step away from just creating pull requests to becoming a reviewer of your own code. Many people, myself included, initially either are defensive about the code we write or create the pull requests only to see that it takes a while to get reviewed. These can all be addressed by changing your mindset into becoming a reviewer of your own code so you become part of the process as well as changing exactly how to create the pull requests to get them processed faster.

4 Ways to be a Better PR Reviewer - This episode goes hand in hand with the one above. Everyone creates pull requests but everyone also reviews pull requests. In your career you will review many more pull requests than you will create them. This episode explains how changing the way you approach code reviews will also in turn change the way you create your own pull requests and have them processed.

Meetings can Trick Your Emotions - Most software engineers have at least some recurring meetings along with meetings that are scheduled on an as needed basis. Meetings are very different from coding or just working within your team. Meetings become a social activity where there are many different perspectives, backgrounds, and levels of power. This episode dives into how to make sure that meetings are useful, productive, and don’t leave in a false sense of positivity.