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


  • 391: Learn with APPL

    July 5th, 2023  |  40 mins 45 secs

    Stephanie went to her first WNBA game. Also: Bingo. Joël's new project has him trying to bring in multiple databases to back their ActiveRecord models. He's never done multi-database setups in Rails before, and he doesn't hate it.

    Stephanie shares bits from a discussion with former Bike Shed host Steph Viccari about learning goals. Four elements stood out:

    Adventure (try something new)
    Passion (topic)
    Profit (from recent learnings)
    Low-risk (applicable today)

    = APPL

    Stephanie and Joël discuss what motivates them, what they find interesting vs. what has immediate business value, and how they advocate for themselves in these situations. They ponder if these topics can bring long-term value and discuss the impact that learning Elm had on Joël's client work.

  • 390: The Truth about Truthiness

    June 27th, 2023  |  39 mins 58 secs

    Joël's new work project involves tricky date formats. Stephanie has been working with former Bike Shed host Steph Viccari and loved her peer review feedback.

    The concept of truthiness is tough to grasp sometimes, and JavaScript and Ruby differ in their implementation of truthiness.

    • Is this a problem?
    • Do you prefer one model over the other?
    • What can we learn about these design decisions?
    • How can we avoid common pitfalls?
  • 389: Review Season

    June 20th, 2023  |  33 mins 45 secs

    Stephanie just got back from a smaller regional Ruby Conference, Blue Ridge Ruby, in Asheville, North Carolina. Joël started a new project at work.

    Review season is upon us. Stephanie and Joël think about growth and goals and talk about reviews: how to do them, how to write them for yourself, and how to write them for others.

  • 388: Empowering Other Departments Within a Company

    June 13th, 2023  |  34 mins 11 secs

    Joël has a bike shorts update; Stephanie has a garden one.

    Often, power is centralized within the dev team. This is usually because they are the only ones able to execute. Sometimes this ends up interfering with team processes and workload. Joël is a fan of empowering other teams to do things themselves.

  • 387: RubyKaigi 2023 with Mina Slater

    June 6th, 2023  |  31 mins 22 secs

    Stephanie is joined by a special guest, fellow thoughtboter, Senior Developer, and marathon trainer Mina Slater.

    Mina and Stephanie had just been traveling together for two weeks, sponsored by WNB.rb for RubyKaigi in Matsumoto, Japan, and together, they recount their international adventure!

  • 386: Value Objects Revisited: The `Tally` Edition

    May 31st, 2023  |  41 mins 8 secs

    If you're in the market for bicycle shorts, Joël's got you. Stephanie just returned from RubyKaigi in Japan and shares details of her trip.

    Recently at thoughtbot, there have been conversations around an interesting data modeling exercise. Joël and Stephanie discuss the following:

    • Value Objects vs. Hashes
    • Doing Math on Compound Numbers
    • Monoids and Folding
    • Naming Concepts in Code
  • 385: The Boring Parts of Tech

    May 23rd, 2023  |  24 mins 41 secs

    Joël is joined by thoughtbot Software Developer and Dirt Jumper Daniel Nolan. Dirt jumping is BMX-style riding 🏍️ with really enormous dirt jumps.

    But for a person who loves excitement in his spare time, for Daniel at work, it's not the new and shiny that interests him. When he dives into something, the "boring" parts of tech are what he finds most fulfilling. He wants to know the "why," and in this conversation, he explains how it sustains his career.

  • 384: Not All Numbers Are Numbers

    May 16th, 2023  |  37 mins 56 secs

    Joël gives a recap after attending RailsConf 2023 in Atlanta, Georgia (and yes, there was karaoke! 🎤 🎶). Stephanie plugs the The Tightly Coupled Book Club Podcast from friends and fellow thoughtboters Aji and Mina Slater where they're reading The Rails Guides from cover to cover and treating it like a book club and having a discussions about the documentation as they read it together.

    Stemming from a Twitter thread by Joël, their main topic focuses on not all numbers being numbers. So: if someone is submitting a phone number through a form:

    • How would you store that in the database?
    • Would you store it as a string? Because sometimes it comes with some extra formatting.
    • Would you normalize it and try to store it as an integer because it's a number?

    Thoughts, Dear Listener?

  • 383: Code as Storytelling with Nicole Zhu

    May 9th, 2023  |  43 mins 2 secs

    Engineering manager at Vox Media and author Nicole Zhu joins Stephanie on today's episode to discuss her writing practice.

    nicoledonut is a biweekly newsletter about the writing process and sustaining a creative life that features creative resources, occasional interviews with creative folks, short essays on writing and creativity, farm-to-table memes and TikToks, and features on what Nicole is currently writing, reading, and watching.

  • 382: Domain-Specific Languages

    May 2nd, 2023  |  36 mins 9 secs

    Joël has been integrating a third-party platform into a testing pipeline...and it has not been going well. Because it's not something she usually keeps up-to-date with, Stephanie is excited to learn about more of the open-source side of things in Ruby, what's new in the Ruby tooling world, and what folks are thinking about regarding the future of the language.

    Today's topic is inspired by an internal thoughtbot Slack thread about writing a custom matcher for Rspec. Stephanie and Joël contrast DSLs vs. Object APIs and also talk about:

    • CanCanCan vs Pundit
    • RSpec DSL
    • When is a DSL helpful?
    • Why not use both DSLs & Object APIs?
    • Extensibility
    • When does a DSL become a framework?
  • 381: To TDD or Not to TDD?

    April 25th, 2023  |  40 mins 58 secs

    It's gardening season! Stephanie swaps seeds with friends and talks about her Chicago garden. Joël recently started experimenting with a dedicated bookmark manager.

    They discuss the aspirational (and sometimes dogmatic) sides of TDD and explore when to test: first or after.

    How does that affect the tests?
    How does that affect the code?
    How does that affect workflow?
    Are you a "better" programmer because you 100% TDD?

  • 380: Remote Work Life

    April 18th, 2023  |  32 mins 19 secs

    Joël has been working on his RailsConf talk about various aspects of discrete math useful in day-to-day work as a developer and going deep on some concepts from propositional logic and Boolean algebra, particularly DeMorgan's Laws, which explain how to negate a compound condition. Stephanie attended a meeting with a fun "Spicy Takes" topic. She gave a short talk on how frictionless technology may not be the best path forward and tried to argue in favor of more friction in our software.

    Together, they talk about ways they've made remote work work for them and things they'd like to try/do differently.

  • 379: Feature Flags

    April 11th, 2023  |  41 mins 56 secs

    Joël submitted a last-minute submission to RailsConf discreet math, which got picked up! 🎉 He'll be speaking at RailsConf 2023 in Atlanta at the end of April about why it's relevant to developers and all the different practical ways he uses it daily.

    Stephanie recommends headlamps for in-bed reading sessions and sets up the feature flags topic for today based on a project that must be released to the public in one go.

  • 378: Leadership and Impact as an Individual Contributor

    April 4th, 2023  |  38 mins 16 secs

    Today's episode is "Old News"! Stephanie shares her ergonomic desk setup. Joël talks about the pyramids.

    Another old thing is the Bike Shed episode two weeks ago about success and fulfillment. Stephanie and Joël realized off-mic that one area they didn't really talk about so much is impact, and that is something that is very fulfilling for both of them. Today, they talk about impact and leadership as individual contributors because leadership is typically associated with management. But they believe that as ICs, at any level, you can be displaying attributes of leadership and show up in that way on teams.

  • 377: Error Handling

    March 28th, 2023  |  45 mins 6 secs

    Joël is a mentor for RailsConf and got matched with a speaker. Stephanie has been having trouble stepping away from her work. It's frustrating when chasing down a bug because something's gone wrong, and you spend a whole afternoon figuring out where it is. Joël and Stephanie discuss error handling as a possible solution.

  • 376: Success and Fulfillment

    March 21st, 2023  |  41 mins 3 secs

    Stephanie has a win and a gripe from her client project this week. In a previous episode, Joël talked about his work exploring how to model dependent side effects, particularly D&D dice rolls. He went from the theoretical to the practical and wrote up a miniature D&D damage dice roll app that you put in a few inputs. Then it will roll all the dice necessary and tell you did you successfully hit your target and, if so, how much damage you did.

    Together, they discuss how they think about fulfillment at work and what brings them fulfillment as developers.