Welcome to The Rabbit Hole, the definitive developers podcast. If you are a software developer or technology leader looking to stay on top of the latest news in the software development world, or just want to learn actionable tactics to improve your day-to-day job performance, this podcast is for you.
Subscribe to this podcastOpen in app
252. Motivation (Replay)
In today’s episode, we are talking about motivation — what keeps us up at night and what gets us out of bed every single day? We are joined by a special return guest and friend of the show, Kevin Thomas. Kevin is a Principal Consultant and Director at Stride. There are some obvious motivating factors, such as money as well as less obvious ones such as purpose and autonomy.
251. Remote Teams (Replay)
On today’s show we welcome David Rataczak. David works remotely for GitHub on their payments team. Prior to working at GitHub, David had been working remotely for about five years after working at a fully onsite company in San Francisco for a year.
250. Imposter Syndrome (Replay)
Today on the show we are joined by none other than our host, Michael Nuñez’s brother, Steven Nuñez! Steven will be helping us in our discussion about a very special topic and one that is very common amongst developers, imposter’s syndrome! Sound familiar? Feel familiar? Well, chances are at some point in your professional career (and beyond) you have probably felt like an imposter.
249. Comments Considered Harmful, Comments Considered Helpful (Replay)
Today, we’ll be talking about whether comments are considered harmful or helpful. We’re pretty sure that there are many different comments you may have run into in your careers. Comments are something that is really common to every programmer, everyone can relate to them – whether they’ve been tormented or blessed by them. We’ve come across some pretty funny comments in the past like, “Holy crap, WTF is this?” or “Drunk, will fix later,” or “Magic, do not touch,” or just the standard, “I’m sorry.” Aside from their entertainment value, comments can be useful for a multiple of other reasons – such as documentation and setting to do reminders for a team. But how can we utilize comments most effectively to avoid the shame game? In this episode, we discuss how best to use comments for to-tasks, writing tests, the value of user stories, the dangers of tech debt and the almighty perils of the copypasta driven development boys. In addition, we will also discover how scout’s honor applies to code (as well as to developers from the Bronx), why a comment is the only code that can lie to you and how you can quite simply avoid comments altogether.
248. Common Mistakes Tech Leads Make with Kelly Wu (Replay)
Today on the show, we welcome special guest, Kelly Wu. Kelly is a software consultant and as a consultant has worked with many different tech leads and teams throughout her career. Most engineering teams will have a tech lead and have experience either working with a tech lead or actually being one.
247. No more PRs -- Try Mob Programming Instead!
Everybody knows one of those senior dev gatekeepers for codebase who just swat PRs away and block every code review that comes through. Today we talk about some healthier ways to deal with the gauntlet of approvers and the benefits of mob programming code reviews. Tuning in you’ll hear about the pros and cons of code review posses, the problem of people who just approve code without really looking at it, and the question of how nitpicky we should be. Our hosts also discuss personal code styles versus agreed-upon code practices and explain the reasons why they will block a PR. To discover the benefits of mob programming, tune in today!
246. Pair Programming Antipatterns
There are a lot of ways pair programming can go wrong. Thankfully, it’s possible to pair well simply by avoiding pairing poorly and, by steering clear of some of the common mistakes that we outline in this episode, you’ll automatically up your chances of success! Today, on The Rabbit Hole, Michael Nunez, Sophie Cruetz, and Dave Anderson talk pair programming antipatterns, from multiple disruptions to over-philosophizing, from keyboard hogging to decision fatigue. For some simple tips on how to make pair programming a great tool for knowledge sharing and team building rather than a chore, tune in today!
245. Seven Wastes of Software Development (Replay)
In this episode of The Rabbit Hole, we are unpacking The Seven Wastes of Software Development! Dave and Michael break down the seven points as they appear in the book Implementing Lean Software Development by Mary and Tom Poppendieck and chat about their experience and thoughts on each.
244. Trunk Based Development vs Gitflow (Replay)
Today on the show we will be talking about Git Workflows. It seems like everybody is always using Gitflow or Trunk Based Development. Gitflow defines a strict branching model designed around the project release. It assigns very specific roles to different branches and defines how and when they should interact. Trunk Based Development is a source-control branching model, where developers collaborate on code in a single branch called ‘trunk’. Advances to source-control technologies have made Trunk Based Development more (and sometimes less) prevalent. However, it has been a branching model that many have stuck with through the years. In this episode we’ll be getting into more of what we prefer, whether it is Gitflow or Trunk Based Development and we’ll get to some of the pros and cons behind the two.
243. Circling Back to Programming Idioms
We had so much fun last time out talking about programming idioms that we thought it was worth revisiting the topic and exploring a few more. To kick things off we talk about the idea of 'bike shedding', the supposed history of the term, and how it can apply to various situations in which something trivial is more engaging than an important matter. From there, we turn to the more common idiom of the hammer and everything appearing to be a nail. We see this problem arising when programmers tend to lean into their own expertise or method, which is not always the most appropriate. We also cover the overuse of refactoring, the detrimental effects this can have, and why rubber duck debugging can be such a satisfying experience. Tune in to hear it all!
242. Senior Engineering Superpowers (Replay)
Becoming a senior engineer is a defining moment in an IT professional’s career. Yet, this moment might not make itself obvious. Today hosts Michael Nunez and David Anderson talk about when they realized that they had become senior engineers and the traits that come with this increase in status. After sharing some back-and-forth banter about their engineering superpowers, Michael and David discuss when they achieved their seniority and what it felt like.
241. Programming Idioms
Each programming language has its own set of idioms or patterns of code used to express some standard kind of computation. Today on The Rabbit Hole, we’re talking about the programming idioms or expressions that we use on the regular; which are not to be confused with idiomatic programming or regular expressions! Tune in to learn what it means to shave a yak, boil the ocean, and grok a concept, as well as the difference between FUBAR and foobar, what turtles have to do with the problem of infinite regress, and so much more!
240. Ubiquitous Language
Having a ubiquitous language within your organization means that when someone on the developer team refers to “the foo bar,” the people on the design team, the service team and all the other teams, know exactly what they mean. Although a general understanding of the term is the most important aspect of ubiquitous language, we’d recommend not using terms like “the foo bar,” and rather applying principles of domain driven design to your naming system so that your glossary actually makes sense in the real world! Join us today as we share our experiences of dealing with ubiquitous and non-ubiquitous language in our working environments, and the importance of bringing up this topic as early on in any job as possible.
239. Open Source Ethos & Pathos
Thanks for tuning in to another episode of the Rabbit Hole! Joining Michael in conversation today is one of our favorite cohosts, Sophie Creutz, Software Developer at Olive. Open source ethos and pathos form the springboard for our conversation, which spans the benefits and barriers to paying and not paying for information. Our discussion delves into practical territory, suggesting a simple way to start contributing to open source and describing how you can begin to grow into a core contributor. You’ll also hear some common fears around starting an open source project and why consistent contribution is the most constructive way to build a reputation for yourself. Join us for an enlightening conversation today!
The idea of gamification has gained a lot of traction in the last few years and is increasingly being used in various aspects of modern life to aid commitment and learning, through enjoyment and engagement. Today we will be speaking about the topic of gamification, and in particular how it can be applied to professional development in our field. We have all experienced the power of 'learning by doing' and gamifying an approach doubles down on this idea. One of the principal powers of gamified learning also relates to memory, and how we remember better when we are experiencing enjoyment. It is possible that as developers, we also have an increased tendency to enjoy tracking progress, and the way that games allow you to gauge your level and the points you accrue, will surely appeal to a lot of our audience too! So for a quick look at a great way to get your stats up, and a few direct routes to lessons that can potentially be applied to your job immediately, be sure to listen in with us on the show!