
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.
267. Continuous Delivery (Replay)
Building on last week's episode about continuous integration, today we explore the idea of continuous delivery and whether it is the best way forward. We start off with some basics, defining continuous delivery and what can truly fall into this category. From there we weigh the value of a deployment button and the difference that this single step in the process can make. William makes a strong case for why full automation and real continuous delivery is a better approach and how this philosophy will force developers to take up more responsibility and acquire better tools for their part in the process.
266. Continuous Integration (Replay)
Continuous integration is the peanut butter to the jelly of continuous delivery, and it’s also the topic of today’s episode. We are talking all things CI, including some of the benefits and downsides and a whole lot more. We kick off with a definition of CI, where we discuss how it helps reduce bugs.
265. Product vs. Developers with Rob O'Brien - Part 2 - Product Strikes Back (Replay)
In today’s episode, we complete the ultimate showdown between product and developer! In this round, it will be the developers who are on the defensive as Dave and Michael account for their faux pas as developers. Rob O'Brien returns to the show with plenty of ammunition. Our conversation starts with a friendly exploration of the type of faux pas a developer might generally commit, as we repeatedly return to the importance of a team-based mindset and why developers need to be invested in user outcomes. We explore how a developer’s role goes beyond completing their delegated tasks and some handy tips for working with designers. The crew also outlines the many benefits of building rapport with your co-worker including having more resilience when things get stressful and having a more cohesive team working environment. Tuning in you’ll hear a thrilling, action-packed discussion on the merits and flaws of developers and how to make your team a badass trifecta of efficiency!
264. Product vs. Developers with Rob O'Brien (Replay)
In today’s episode, we have the ultimate showdown between product management and developers. Meet our guest Rob O’Brien. His career started in information science technology, giving him a good grounding in app development. He has since gained extensive experience managing engineering teams as well as coaching product employees and building product teams. O’Brien shares what he believes to be the biggest missteps that product managers can take and illustrates why product managers should be available for feedback throughout the development process. Hear why it’s important to have good communication between product management and developers and why the entire team should be present during stakeholder feedback. We also discuss how to identify what should be the company’s top priority at any given time, and how you can use the RICE or MoSCoW methods to objectively determine what to pursue at a particular point in time without conjecture. Join us for an energetic discussion on all things development, product management, and teamwork!
263. Circling Back to Programming Idioms (Replay)
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!
262. Programming Idioms (Replay)
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!
261. Psychological Safety (Replay)
Today, we’ll be talking about psychological safety. We’ll go into what is psychological safety and how important is it in the work space. Having a team that has more cohesive and safe environment is actually more important for performance of the team as a whole than having those 10x developers really cranking out code.
260. Vacations (Replay)
Vacations help developers stay energized at work and avoid burn out, but sometimes it's hard to pull ourselves away from our computers for even a weekend away.
259. Remote Pair Programming with Ben Orenstein(Replay)
On today’s episode, we are joined by special guest, Ben Orenstein, to talk about remote pair programming. Ben is a developer, who after many years of working for other people decided to strike out on his own. He is the cofounder of an app called Tuple, which is specifically for remote pair programming.
258. Pragmatic Folks Part 3 - The Dogmatic Developer (Replay)
On the final episode of our three-part series with Dave Thomas and Andy Hunt, we discuss the nuanced nature of programming and why the idea of a “best practice” is often idealistic and not equally relevant to everyone.
257. Pragmatic Folks Part 2 - Own Your Environment (Replay)
Today's episode is the second of a three-part Pragmatic Folks series and we are joined again by Dave Thomas and Andy Hunt, authors of The Pragmatic Programmer, to talk more in-depth about how you are in control of your own destiny even when it seems like you’re not.
256. Pragmatic Folks Part 1 - Feedback Loops(Replay)
Today's episode is the first of a three-part Pragmatic Folks series and we are joined by Dave Thomas and Andy Hunt to talk about the 20th anniversary edition of The Pragmatic Programmer. This new edition was not only an opportunity for them to revise the material but also to revisit their thinking and see how ideas have changed over the course of twenty years.
255. Developer Friendly Reminders (Replay)
What is your ritual for starting the day? Are you starting out by choosing a deliberate practice that can help skyrocket your productivity? Welcome back to another episode of The Rabbit Hole, co-hosting today with me, Michael Nuñez, is Dave Anderson. Today we are giving you developer-friendly reminders! Things that you can do with your life that will take five minutes that you should be doing, every now and then. So stay tuned as we share some friendly reminders to help you get through your day!
254. The Art of Gathering (Replay)
As the world slowly reopens after more than a year of COVID-19 shutdowns, coming together is more important than ever. Today’s episode takes a human-centered approach to how to create more meaningful gathering spaces and some simple tips you can follow to do so. From committing to a clear purpose to asking how your gathering impacts the wider world, we share some of the rules outlined in Priya Parker’s fascinating book, The Art of Gathering: How We Meet and Why It Matters, and we discuss the benefits of Jefferson Dinners, where there is only one topic of conversation. Tune in today for some insight into the art of gathering!
253. SOLID - Single Responsibility Principle (Replay)
Do you know how you can feel overwhelmed when you have too much on your plate? Well, your code can feel the same way. This is why it’s important to follow the Single Responsibility Principle, SRP, which is what the ‘s’ in SOLID stands for. Today we do a deep dive into the SRP and how you can ensure that your class or object only does one thing at a time. We take a look at some of the benefits of following the SRP, such as ease of testing and greater flexibility with making changes. When there is more than one responsibility designated to a class, it can quickly become confusing when you need to alter a piece of code. We also look into why you should try to keep classes as small as you can, how to know if a class or object has more than one responsibility, and why you should always be ready to refactor.