Crafting Code Podcast

Follow Crafting Code Podcast
Share on
Copy link to clipboard

A podcast about crafting software where we discuss the importance of doing the right thing, at the right time, with the right tools.

Crafting Code Podcast


    • Mar 6, 2023 LATEST EPISODE
    • infrequent NEW EPISODES
    • 59m AVG DURATION
    • 22 EPISODES


    Search for episodes from Crafting Code Podcast with a specific topic:

    Latest episodes from Crafting Code Podcast

    022 - Fending Off Frameworks

    Play Episode Listen Later Mar 6, 2023 52:25


    Software frameworks are so useful we can hardly imagine working without them. Yet they have an insidious tendency to invade, corrupt, and wrest control away from us. In this episode, your hosts discuss the good and bad of frameworks and offer some suggestions for keeping them at arm's length.

    021 - Crafting Katas

    Play Episode Listen Later Jan 16, 2023 73:08


    In this episode, your hosts (finally!) share some actual code examples to illustrate some of our thoughts about crafting code. Follow along with the code at https://github.com/crafting-code-podcast/crafting-katas as we discuss how we implemented Conway's Game of Life in multiple languages. Testing strategies, optimizations, and feedback loops all demonstrate that crafting code is ultimately an iterative process.

    020 - The Humble Programmer

    Play Episode Listen Later Dec 14, 2022 69:52


    The works of Edsger W. Dijkstra have made a huge impact on the software industry. In this episode, your hosts dive into his paper, The Humble Programmer ( https://dl.acm.org/doi/pdf/10.1145/355604.361591?download=true ), to discuss how well it holds up to today's programming world. We cover hardware, cleverness, abstraction, proofs, and more. Even when we disagree with his specifics, we find ourselves still nodding in general agreement.

    019 - Sustaining Communities

    Play Episode Listen Later Oct 11, 2022 52:42


    There are many benefits to having communities of practice, so long as the community continues to exist. In this episode, special guests Jon Turner and Neil Sorensen discuss what they've learned over their many years attending and facilitating the Utah Software Craftsmanship group (http://utahsc.org/).

    018 - Searching for Simple Tools

    Play Episode Listen Later Jul 2, 2022 65:25


    Will using simple tools help you keep your codebase simple? In this episode, your hosts try to draw a distinction between simplicity and ease, then examine how they apply to the tools we use to write code. Unfortunately, simplicity and complexity depend on what level of abstraction you're working at. Sometimes we choose to trade simplicity for easiness, or visa-versa. And maybe there are some simple tools that make your coding life both difficult and complex!

    017 - Programming Languages

    Play Episode Listen Later May 23, 2022 91:40


    Programming languages are the tools we use to craft code. They have philosophies, environments, ecosystems, and idioms to consider. Picking which languages to use is an important choice for individuals and businesses. Although we all have likes and dislikes, perhaps sometimes we have to leave behind our code baggage to learn something new. But remember most of all: programming is fun!

    016 - Architecture Examples

    Play Episode Listen Later Mar 25, 2022 58:46


    Software architectures are generally described in broad strokes that make them generally applicable and easier to understand. But this is a lossy process. Whether or not an architecture is good or bad depends on context. So in this episode, Matt, Dave, and Allan share some examples of systems we've worked in to help illustrate architectural decisions.

    015 - Starting Over

    Play Episode Listen Later Jan 29, 2022 35:11


    Starting a new job can be a nerve-wracking experience. There's a lot to learn if you are going to be effective in your new position. Sometimes change is forced upon you, but there are reasons to voluntarily start over. It can be an important part of our personal or career journey.

    014 - Software Architecture

    Play Episode Listen Later Dec 10, 2021 59:23


    Despite the near-universal agreement of the importance of software architecture, it is very difficult to define. In this episode, your hosts share what we've learned from holding the architect role (and title) at various companies. For us, the crux of it comes down to figuring out how to deliver technical value for changing business needs over time.

    013 - Full-stack Development

    Play Episode Listen Later Oct 14, 2021 48:51


    What does it mean to be a full-stack developer as opposed to front- or back-end? Is anyone really full-stack? Is it a reflection of who you are, or is it more about how your company chooses to operate? Whether or not you have a preference for the part of the stack you work in, there is value to expanding your understanding and collaboration.

    012 - Learning From Our Mistakes

    Play Episode Listen Later Sep 14, 2021 72:30


    Mistakes are inevitable. In this episode, your hosts share some of the lessons we've learned the hard way through the mistakes we've made. Our hope is that some of you may be able to avoid making these same mistakes. But if not, at least know you're not alone and we can all improve.

    011 - Software Education

    Play Episode Listen Later Aug 10, 2021 51:54


    What do you need to know to be a successful software developer? No matter your path into writing software, there are some things you ought to learn. Unfortunately, formal education doesn't teach us all we need to know, and even worse: sometimes even teaches us the wrong things!

    010 - Team Folklore

    Play Episode Listen Later Jun 24, 2021 39:28


    Humans communicate through stories. That includes the ones writing code. The folklore of your team teaches you about your history (the hows and whys that got you here) and your ambitions for the future. In this episode, Dave and Allan (sans Matt) discuss the storytelling element of teams.

    009 - Coupling & Cohesion

    Play Episode Listen Later May 31, 2021 58:08


    Coupling and cohesion are fundamental concepts in software systems. From types of coupling to Conway's Law, Matt and Allan (sans Dave) discuss how these two ideas can affect your day to day work beyond just the formal definitions.

    008 - Test Driven Development

    Play Episode Listen Later Apr 19, 2021 64:06


    TDD is one of the most powerful, professional practices we are aware of for designing code. It provides a consistent way to make sure you solve the problem at hand while naturally improving your code quality. This episode takes a deep dive into your hosts' thoughts on the practice.

    007 - Building Communities with Mike Clement

    Play Episode Listen Later Mar 22, 2021 44:26


    Communities of professionals don't just spring into being on their own. In this episode we welcome a special guest, Mike Clement, to talk with us about his experiences in starting and building communities. Meeting with a group of kindred spirits can make a huge difference in your career.

    006 - Deleting Code

    Play Episode Listen Later Feb 16, 2021 54:02


    A professional doesn't just write code, they also know when to delete it. In this episode, we discuss the problems that code can cause and share some ideas on how to go about making your codebase smaller.

    005 - Practice & Play

    Play Episode Listen Later Jan 23, 2021 52:42


    Practice is key to learning and developing skills. It provides us fast feedback and allows us to fail in safe efforts which can be reversed or thrown away. Playing in code can motivate us and our teams to improve, creating outcomes that employers desire.

    004 - Effective Teams

    Play Episode Listen Later Dec 15, 2020 71:36


    What does it mean for a software team to be effective? What sorts of things can you do to increase your effectiveness as a team? In this episode, we discuss the principles and practices which we have seen in common among effective teams.

    003 - Two Conversations Pass in the Night

    Play Episode Listen Later Nov 23, 2020 66:00


    Coding is a specialized skill where we learn to communicate with a machine. Unfortunately, this can often blind us to the fact that crafting code involves a lot of communication with humans. Writing clean, expressive code communicates with other coders. Communicating well with non-coders helps us understand business needs so we can write the right code.

    002 - Rescuing a Failing Project

    Play Episode Listen Later Nov 9, 2020 72:28


    Failing projects are the bane of a software developer. In this episode, we discuss how principles of crafting software can rescue a failing project. Whether the problem is rooted in the code, the team, or the system, we can improve our feedback loops, make small but significant improvements, and focus on finishing instead of starting. Slowly but surely, the project can turn around.

    001 - Crafting Code

    Play Episode Listen Later Nov 5, 2020 50:36


    What does it mean to craft software? In this first episode, your hosts David Adsit, Matt Baker, and Allan Stewart discuss what we think software craftsmanship is all about. We cover how crafting code helps you find better ways of doing things, steadily add value, and build a community of professionals. We also talk about how this craft is not about art as an expression or perfectionism; nor is it about elitism or exclusion.

    Claim Crafting Code Podcast

    In order to claim this podcast we'll send an email to with a verification link. Simply click the link and you will be able to edit tags, request a refresh, and other features to take control of your podcast page!

    Claim Cancel