The Bike Shed

About the show

On The Bike Shed, hosts Joël Quenneville and Stephanie Minn discuss development experiences and challenges at thoughtbot with Ruby, Rails, JavaScript, and whatever else is drawing their attention, admiration, or ire this week.

The Bike Shed on social media

Episodes

  • 442: Paradigms - What is a Program?

    October 1st, 2024  |  42 mins 22 secs
  • 441: The Pickaxe Book with Noel Rappin

    September 24th, 2024  |  39 mins 44 secs
  • 440: When we stray from Rails defaults

    September 17th, 2024  |  42 mins 56 secs
  • 439: Async Ruby & Rails with Trevor Turk

    September 10th, 2024  |  34 mins 11 secs
  • 438: Writing abstractions in tests

    September 3rd, 2024  |  49 mins 8 secs
  • 435: Cohesive Code with Jared Norman

    July 30th, 2024  |  28 mins 45 secs
  • 434: Git and GitHub Workflows

    July 23rd, 2024  |  47 mins 42 secs
  • 433: Riffing with Kasper Timm Hansen

    July 16th, 2024  |  37 mins 20 secs
  • 432: The Semantics and Meaning of Nil

    July 9th, 2024  |  38 mins 13 secs

    The term ‘nil’ refers to the absence of value, but we often imbue it with much more meaning than just that. Today, hosts Joël and Stephanie discuss the various ways we tend to project extra semantics onto nil and the implications of this before unpacking potential alternatives and trade-offs. 

Joël and Stephanie highlight some of the key ways programmers project additional meaning onto nil (and why), like when it’s used to create a guest session, and how this can lead to bugs, confusion, and poor user experiences. They discuss solutions to this problem, like introducing objects for improved readability, before taking a closer look at the implications of excessive guard clauses in code.

  • 431: Developers Are Professional Question Askers

    July 2nd, 2024  |  38 mins 54 secs

    Stephanie shares her newfound interest in naming conventions, highlighting a resource called "Classnames" that provides valuable names for programming and design. Joël, in turn, talks about using AI to generate names for D&D characters, emphasizing how AI can help provide inspiration and reasoning behind name suggestions. Then, they shift to Joël's interest in Roman history, where he discusses a blog by a Roman historian that explores distinctions between state and non-state peoples in the ancient Mediterranean.

    Together, the hosts delve into the importance of asking questions as consultants and developers to understand workflows, question assumptions, and build trust for better onboarding. Stephanie categorizes questions by engagement stages and their social and technical aspects, while Joël highlights how questioning reveals implicit assumptions and speeds up learning. They stress maintaining a curious mindset, using questions during PR reviews, and working with junior developers to foster collaboration. They conclude with advice on documenting answers and using questions for continuous improvement and effective decision-making in development teams.

  • 430: Test Suite Pain & Anti-Patterns

    June 25th, 2024  |  40 mins 57 secs

    Stephanie and Joël discuss the recent announcement of the call for proposals for RubyConf in November. Joël is working on his proposals and encouraging his colleagues at thoughtbot to participate, while Stephanie is excited about the conference being held in her hometown of Chicago!

    The conversation shifts to Stephanie's recent work, including completing a significant client project and her upcoming two-week refactoring assignment. She shares her enthusiasm for refactoring code to improve its structure and stability, even when it's not her own. Joël and Stephanie also discuss the everyday challenges of maintaining a test suite, such as slowness, flakiness, and excessive database requests. They discuss strategies to balance the test pyramid and adequately test critical paths.

    Finally, Joël emphasizes the importance of separating side effects from business logic to enhance testability and reduce complexity, and Stephanie highlights the need to address testing pain points and ensure tests add real value to the codebase.

  • 429: Transforming Experience Into Growth

    June 18th, 2024  |  43 mins 38 secs

    Stephanie has a newfound interest in urban foraging for serviceberries in Chicago. Joël discusses how he uses AI tools like ChatGPT to generate creative Dungeons & Dragons character concepts and backstories, which sparks a broader conversation with Stephanie about AI's role in enhancing the creative process.

    Together, the hosts delve into professional growth and experience, specifically how to leverage everyday work to foster growth as a software developer. They discuss the importance of self-reflection, note-taking, and synthesizing information to enhance learning and professional development. Stephanie shares her strategies for capturing weekly learnings, while Joël talks about his experiences using tools like Obsidian's mind maps to process and synthesize new information. This leads to a broader conversation on the value of active learning and how structured reflection can turn routine work experiences into meaningful professional growth.

  • 428: Ruminating on Ruby Enumerators

    June 11th, 2024  |  35 mins 44 secs

    Joël explains his note-taking system, which he uses to capture his beliefs and thoughts about software development. Stephanie recalls feedback from her recent RailsConf talk, where her confidence stemmed from deeply believing in her material despite limited rehearsal. This leads to a conversation about the value of mental models in building a comprehensive understanding of a topic, which can foster confidence and adaptability during presentations and discussions.

    The episode then shifts focus to the practical application of enumerators in Ruby, exploring various mental models to understand their functionality better. Joël introduces several metaphors, such as enumerators as cursors, lazy collections, and sequence generators, which help demystify their use cases.

  • 427: RailsConf Recap and Conversing About Coupling

    May 28th, 2024  |  37 mins 3 secs

    Joël and Stephanie discuss RailsConf! Joël introduced Turbo features using a "Dungeons & Dragons & Rails" theme, performing as a D&D character to make his talk interactive. Stephanie addressed test pain by connecting it to code coupling. They emphasize continuous improvement as speakers and developers and encourage trying new approaches in talks and code design.