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.
software, learn something, fun to listen, entertaining, insightful, informative, content, great, listening, always, love, good.
Listeners of The Rabbit Hole: The Definitive Developer's Podcast that love the show mention:In this special holiday episode, we reflect on the year gone by. In a time full of challenges, we extend warm holiday wishes to our listeners, acknowledging the turmoil present in the tech industry and the world at large.
Following our series of discussions on XP values, this conversation covers the idea of respect and how things change when it is upheld. Tune in to hear a breakdown of why it is so integral to success and what it means for our relationship with code as well as one another.
In today's episode, we explore the crucial concept of courage in programming. It may be a far cry from slaying dragons, but courage in programming is not for the faint of heart. You need to be able to make bold decisions, such as discarding flawed code and initiating architectural changes, even if you and your team have spent weeks working on it.
In this episode, we delve into the world of feedback in software development. We explore how feedback, in the context of Extreme Programming (XP) values, goes beyond traditional human communication. We uncover the various sources of feedback, from pair programming to CI/CD pipelines, and how it plays a pivotal role in improving code quality and project management.
Extreme programming (XP) continues to gain popularity as more and more teams are using it to enhance their development procedures. In today's episode of The Rabbit Hole, we explore one of the core values of XP: simplicity. Tuning in, you'll find out how keeping things as simple as possible can reduce complexity and make the delivery of high-quality software easier, enabling your team to not only deliver a better product faster but stay sane in the process!
In this episode, we delve into the world of Extreme Programming (XP) values, with a particular focus on communication as key. We discuss the importance of effective communication in software development, especially in a remote work environment.
On today's episode, Dave, William and Steven have a conversation with the esteemed Esther Derby about the various roles that we take on as Team Members and Leaders when we're responsible for the team's results ORRR for the team's growth. Plus, an update straight out of the Bronx by our very own Michael Nunez about babies, software and otherwise, and the long road to 100. Regardless if you're Pair Programming, Mentoring the team, Mob programming, or Reviewing Code, these nine roles described by Champion, Kiel & McLendon really sum up ways that we can help our teammates. The roles include: Counselor, Coach, Parther Facilitator, Teacher, Modeler Reflective Observer, Technical adviser, Hands-on Expert. ^ Growth, Results > References: 6 Rules for Change (Esther Derby) - soon to be 7 rules! https://www.youtube.com/watch?v=BDyoUdVHwbg 9 Consulting Roles (Kiel, McLendon) https://www.researchgate.net/figure/Typical-Role-Statements-from-the-Consulting-Role-Grid-Champion-Kiel-Mclendon-1990_fig3_281781473
On today's replay episode, our host Dave Anderson and producer William Jeffries discuss end to end testing.
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.
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.
In agile development, it's important to eliminate work in progress (WIP) as much as possible, since it can reduce productivity, scatter focus, and increase wait time for new functionality. But what if the same were true for WIP challenges we face in life? That was the revelation of today's guest, Brian Lam, whose recent new role as the father of a newborn has presented him with some tricky WIP issues in his daily life.
In today's episode, we delve into the testing tango and the art of Arrange, Act, and Assert (AAA), a practice that is essential when writing tests in order to structure them in a way that is coherent to other developers who may come across them. We discuss how to go about Arranging variables, how to use those variables (or Act), and then Asserting those specific behaviors. You'll learn about the importance of having only one assertion per test and the benefits of leaving blank spaces or new lines for future reference.
The red, green, refactor approach helps streamline testing and development processes, improve code quality, and foster collaboration. It promotes a disciplined and iterative approach to software development, resulting in more reliable and maintainable systems. Join us in this captivating episode as we explore this mysterious testing approach that transforms software development.
Artificial Intelligence (AI) has the potential to bring significant benefits and advancements to various fields, including healthcare, transportation, education, and more. It can automate tedious tasks, improve efficiency, and enhance decision-making processes. However, AI also presents challenges and risks that need to be addressed. It is crucial to promote responsible AI development, ethical guidelines, and appropriate regulations to harness the benefits of AI while mitigating its risks.
Today on The Rabbit Hole we are sharing an episode from Scaling Tech with Debbie Madden, who is the Founder and Chairwoman here at Stride. The podcast is well worth checking out and listeners can expect to hear some great conversations between Debbie and top tech leaders and experts on a wide variety of contemporary issues facing the industry. Here we are airing the chat that Debbie had with Josh Seiden, in which they cover the valuable idea of outcomes over output, a subject on which Josh has literally written the book!
Have you tried GitHub Actions? In this episode, we talk about experimenting with GitHub Actions and why YAML will be the programming language of the future. You'll hear what GitHub Actions is and how it works, using the example of the creation of a pull request. We discuss other things that GitHub Actions can do and the biggest problem we've run into with it when it comes to testing.
Created by occupational therapists, a “sensory diet” is a treatment strategy designed to help children feel calm, ready to learn, and in control of their bodies. Do you ever fidget with a pen during a meeting? Or take a walk to combat the after-lunch lull?
As we continue to learn from the XP book, Extreme Programming Explained, today we discuss what it means for software systems to go sour and how to prevent this from happening. We talk about what happens when the cost of making changes or defects rises so much that the system must be replaced and how XP creates and maintains a comprehensive suite of tests to counteract this risk. Tune in to learn more about how pair programming can help prevent the system from going sour, what to do when you are writing legacy code, the types of tests you should write and focus on, and so much more!
Continuing in the series of XP explained, today we discuss false feature rich, the idea that software has many potentially interesting features that are fun to program but don't provide much value to the customer.
According to the book Extreme Programming Explained: Embrace Change by Kent Beck, “The basic problem of software development is risk.” One of these risks is that of the schedule slip. In this episode, we discuss how to use XP to prevent schedule slips when developing software. Tuning in, you'll hear about how XP addresses the problem of schedule slips through short-release cycles, what a Big Bang release is and why you want to avoid this, and the value of prioritizing the most important features in your schedule first.
Today, we'll be talking about side projects and why developers like to pick them up. Whether it's to explore a personal interest, a new idea, or give back to your community; there are tons of great benefits to having a side project.
As much as we hate breaking bad news to you, we have no choice today. If you think gathering requirements is a user story, you are wrong and we'll tell you why. William, who is especially fired up about the topic, gets us started by explaining that usually gathering requirements is conflated with other components, such as a spike, task or research and there are also often delusions about what stories are.
In case you haven't heard of it yet, ChatGPT is an AI-powered chatbot created by the OpenAI platform. Using prompts, ChatGPT can craft original jokes, plan trips, explain complex topics, and even write code. This begs the question: will ChatGPT take our jobs? To test this theory, we asked ChatGPT to write a 10-minute script for an agile software development podcast where the topic is Planning Poker, a consensus-based agile estimation and planning technique.
All developers will understand the difficulty that comes along with deciding whether to build or to buy. In today's episode, we discuss why it's so important to think about this decision before you make it; there are so many factors to take into consideration and you don't want to act hastily. Co-hosts Michael and Dave discuss the pros and cons of building and buying, tiers that exist within the build or buy spectrum, and something that they would never build. They share a question that you should always ask yourself before diving in, and some red flags to look out for. If you're in the market to buy, this episode is also full of examples of great places you can do so!
Star Trek fans will know that the Prime Directive is the unbreakable mission statement of the Starfleet. It's a guiding principle, deciding the course and tone for whatever the team encounters. As you'll learn in today's episode of The Rabbit Hole, however, the prime directive is an important concept for software developers too! Michael Nunez, Dave Anderson, and Sophie Creutz dive into Norm Kerth's Retrospective Prime Directive and break it down phrase-by-phrase to illustrate how it applies to an agile workflow. We also share some of the other prime directive texts that we discovered, including the Team Building and Futurospective Prime Directives, and touch on their focus on psychological safety and bringing people together for a specific cause. All this and more when you tune in today!
On a whole, the pandemic has made us, as a society, more anxious about a lot of things, including working in offices with other people where our risk of being exposed to the coronavirus is heightened. Although there are a lot of great tools which have been developed to try to make home offices mirror actual offices, there are various benefits which come from working in the same space as other people which cannot be replicated online. Nevertheless, working from home, at least some of the time, may continue to be part of our reality well into the future.
Today on The Rabbit Hole we are talking about strongly typed and loosely typed languages. There is very little industry consensus about what these terms mean and it is not uncommon to find often contradictory definitions, so we take it upon ourselves to uncover the truth and what we find is rather surprising! Languages that we initially thought of as strong proved not to be as iron-clad as we thought and our previous thinking about loosely typed language also had some holes.
If you think you don't need a launch plan, you may need to think again. In today's episode, Alex Bernardin, Lead Product Manager at Stride, joins us to explain the circumstances under which having a launch plan is very important and how you can ensure that it goes to plan.
After such a wild year, most of us can understand the need to turn ourselves off and back on again. Today hosts Michael Nunez and David Anderson discuss how you can reset yourself and build positive habits. We dive into the topic after a quick reminder that this is the last week to respond to our listener survey. As we explore how you can reboot your brain, we touch on the benefits of being helpful, exercising, maintaining your social connections, eating more healthily, learning something new, and keeping a consistent sleep routine. We apply this advice to the coding environment, showing why and how these general life tips are relevant to software engineers. Later, we talk about strategies to enact change like starting with small habits and recruiting an accountability buddy. Tune in for more insights on starting 2021 with your best foot forward.
As we enter into the new year and bid farewell to 2021, the topic of goals and goal-setting seems like an appropriate one to give some attention to. Today we are approaching it from a slightly different direction, looking at the idea of 'anti-goals', and how these might help you in your work and personal life. Simply put, anti-goals are a way to work backward from an undesirable outcome and use these as motivation and an incentive to avoid the actions or circumstances that might facilitate it. In our conversation, we look at the two different methods for coming up with anti-goals that we can think of and also relate these ideas to other goal-setting approaches we have spoken about in the past. Top tips that arise in our chat include the need for specificity, building a diverse toolkit for achieving success, and the need for different approaches in each situation or project. So to hear it all, make sure to come down the rabbit hole with us, today!
How many coders can you afford to lose to a series of inexplicable bus accidents before your project fails? As morbid as it sounds, your bus factor is an important means of measuring how risky your project is. Today we unpack the bus factor while touching on the top ways that you can boost your team's capabilities while increasing project resilience. While exploring the topic, we look at the benefits of pair programming, documenting your coding journey, temporarily locking team members out of projects, and rotating coding roles so that your team develops a better sense of your codebase.
Today we will be talking about toasting to failures. We will get into what a toast to failure is and share some stories that pertain to failing and we will, of course, toast to them. We don't have any drinks or apple juice in the recording session with us, but we will pretend that we have glasses and we will put them in the air as we toast to our failures. A toast to failure is when one fails at his or her particular task or at their job but it's celebrated, which we feel is very important. It's a little counterintuitive and you don't want to just go out there and fail all the time. So stay tuned as we go over how failures should not only be celebrated, but should also be seen as a learning opportunity so that you and your colleagues can learn from the mistake. All this and more inside today's episode.
Creating a good piece of content is a bit like pair programming, except you get to steer the wheel without ever having to listen to your navigator. With a bunch of hot Udemy courses under his belt and his book Pandas in Action about to hit the shelves, Stride full-stack developer Boris Paskhaver knows a thing or two about creating content, and he joins us today to give us some better tips than the one you just heard! We start by picking Boris's brain about just what makes Udemy such a great platform to learn from, and then we dive into the pros and cons of creating content for video versus book formats.
On today's show, we have the honor of welcoming Jacob O'Donnell as our special guest. Jacob is a consultant at Stride and we are very happy to have such a good friend and experienced programmer join the show this time around.
The reality of the workplace means that entering a new team or having someone enter your team is likely and some of the centering and entering techniques shared in the episode allow for these transitions to be managed smoothly.
Ever wondered whether time away from the screen can lead to any positive outcomes? On today's episode, we talk about the benefits of vacation, and how they far out way the negatives, while allowing for more productive, alert developers within your team. We touch on all kinds of aspects and kinds of vacation including unlimited vacation, mandatory time off, sabbaticals, and the chaos vacation monkey. Learn how spending time away from work can help your team as much as yourself! Get in touch with us @radiofreerabbit on Twitter and leave a review on Apple Podcasts. Catch you guys next time!
In today's world of rapidly-changing technologies and job descriptions, it can be difficult to know which path to pursue. As a result, it often feels simpler to fall into a pattern where we are funneled down the path of least resistance, rather than taking ownership of what we truly want. That's where career clarity comes in. Today on the show we are joined by the fantastic Jeff Perry, a talented engineer, leadership coach, career coach, and founder of More Than Engineering, a company that helps engineers make intentional career transitions.
Whether you call it a Stand-Up, a Daily Scrum, a Huddle, or a Roll Call this daily check-in is a powerful tool you and your team can use to maximize productivity. During today's episode, you will learn how to do a Stand-Up, what a Stand-Up consists of, and some pitfalls that you may be deterred by along the way. Most importantly, you need to keep a Stand-Up as simple as you can, based on three basic questions. That's it! Sometimes you'll include Parking Lots as modifiers. Tune in to hear what that means, along with why there is no reason to ask questions during the Stand-Up. Thanks for tuning in!
Often, developers will be asked to work on a story, but nobody knows quite how to deal with it. That why, today, we are discussing spiking feature work. We are joined by Rob O'Brien, one of the partners here at Stride, and a self-confessed “strongly opinionated product manager.” Rob was formerly one of the principal product managers involved in building out our product practice, and while he has transitioned into a partner role, he continues to do product management work.
Companies receive a large number of applications during the recruitment process which places extra pressure on candidates to stand out amongst the masses. How do you present your resume professionally while ensuring you catch the attention of recruiters? In today's conversation, we talk to two people who work in the world of talent acquisition to give us insider knowledge on how to get the attention of recruiters while presenting your worth to the company. Dan Chessin and Genesis Osorio are both involved with talent acquisition at Stride, with many years of experience in the recruiting sector.
In this episode of The Rabbit Hole, we're talking about The Rules of Simplicity and why you should be following them when building software. We break down the four Rules of Simplicity first laid out in the book Extreme Programming Explained: Embrace Change by Kent Beck and discuss how they relate to other rules and principles that we've discussed on this podcast in the past. For a quick crash course on The Rules of Simplicity, why you should be practicing them, and how to go about applying them today, don't miss this episode!
Today, we're going to talk about two websites to keep in your back pocket for JavaScript. If you are currently doing JavaScript development in your projects, there are two websites or repositories that can make your life a lot easier. In this episode, you'll hear all about You-Don't-Need-Lodash-Underscore and 30 Seconds of Code and some of the many JavaScript functions that you can find on these sites for things like CSS, React, and Python, among others. Tune in for some helpful and time-saving tips!
The remote work landscape calls for conscious congruity amongst teammates, now more than ever. The best way to ensure everyone's on the same page is to construct a working agreement that everyone is on board with. In this episode, we explain what working agreements are and why you need one! We break down how to optimize your working agreement, the pitfalls to avoid, and how to run a seamless work agreement meeting. Tune in to find out all you need to know about working agreements, from where to find templates to how to handle rule-breaking and more!
According to Wikipedia, the Five S's are a workplace organization method that uses a list of five Japanese words, Seiri, Seiton, Seiso, Seiketsu, and Shitsuke, to describe how to organize a workspace for efficiency and effectiveness. It does this by helping people to identify and store items used, maintain the area and items, and sustain the new order. In this episode, we are going to delve into what specifically the five S's are and how you would use them in the workplace. Then we are going to apply these concepts to software developers and agile teams to see how they could be used for writing software more efficiently. Don't miss it!
Niko-Niko is a visual calendar tool that can be used to track the emotions of your team members, similar to that of a happiness index or a mood board. It contains a column for your team members' names and provides them the opportunity to record their emotions at the end of every workday with emoticons and other graphics, allowing you to track patterns and improve the morale of your staff. Tune in today as we discuss all things Niko-Niko: what benefits it may provide to your team, what potential pitfalls may arise from its use, and how it could possibly be improved.
Today on The Rabbit Hole we are talking about extreme programming and to help us with this we welcome our very own Kevin Thomas. Kevin is a consultant at Stride and a strong proponent of extreme programming! During the conversation we'll cover the values that typify XP and unpack the importance of each of these after looking briefly at a definition for the term.
Welcome back to the podcast everyone and thanks for sticking with us through our little hiatus! Today Michael is riding solo and talking about Tailwind CSS. You can expect to hear his thoughts on the pros and cons of using it, some comparisons, and delivering a verdict on whether he would continue to use it in the future. We also share some thoughts on BEM and offer suggestions on which developers Tailwind might best suit. So, if you want to learn more about this today, make sure to press play!
If you've ever run into issues with CORS (cross-origin resource sharing), just know that you are not alone! In today's episode we ask, ‘What the CORS?!' and delve into the mechanics of CORS, the purpose it serves, and how to keep from freaking out when you receive a baffling error message in your browser. Learn how CORS is engineered to protect multiple parties, including servers, functionality, and users. You'll also get an overview of the various error messages you may encounter, the primary reason behind most of them, along with directions on how to solve them. If you've ever asked yourself whether CORS is really your friend, then make sure you tune in today!
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.
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.
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!