Skip to main content
thoughtbot thoughtbot
  • Live on Twitch!

    thoughtbot is livestreaming

    Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

  • Case Studies
  • Blog
  • Let’s Talk
Live on Twitch!

thoughtbot is livestreaming

Work alongside the thoughtbot team as we collaborate with each other and our clients, live. Ask us anything, we're live right now!

Let’s get started!
View all Services
Development
  • Ruby on Rails
  • Hotwire
  • AI and Machine Learning
  • Maintenance
  • Mobile
Design
  • Discovery Sprints
  • UX, UI, and Product Design
  • Design Systems
Product
  • MVP
  • Product Management
  • Accessibility
Team and Processes
  • Team Augmentation
  • Fractional Leadership
View all Services
View all Resources
Development
  • Tech Leadership Resources
  • Open Source
  • Books
  • The Bike Shed Podcast
  • Live Streaming on YouTube
  • Conference Talks
The business of great software
  • Playbook
  • Purpose Built
  • Giant Robots Smashing Into Other Giant Robots Podcast
  • Design Sprint Guide
  • Live Streaming on LinkedIn
View all Resources

Articles by Joël Quenneville

View other authors

  1. Writing Quality Method Docs

    Things I think about when putting together effective method-level documentation.

    Joël Quenneville
    May 31, 2024
    • Web
    • Development
  2. How to approach a reduce problem

    Code written with reduce can be intimidating. This 2-step approach can help.

    Joël Quenneville
    March 13, 2024
    • Web
    • Ruby
    • Functional Programming
  3. A Peek Behind the Curtain of Our New Open Source Page

    How did we build the new Open Source page?

    Joël Quenneville and Neil Carvalho
    September 4, 2023
    • Ruby
    • Open Source
    • Web
  4. Structuring Conditionals in a Wizard

    Branching early helps structure multi-step forms.

    Joël Quenneville
    August 8, 2023
    • Good Code
    • Elm
    • Ruby
    • Rails
  5. Avoid Putting Logic in Map Blocks

    The contents of a map block should probably be an instance method on each item.

    Joël Quenneville
    May 26, 2023
    • Web
    • Ruby
    • Domain Modeling
  6. Building Custom RSpec Matchers with Regular Objects

    RSpec custom matchers can be written using plain old objects.

    Joël Quenneville
    February 1, 2023
    • Testing
    • Ruby
    • Rails
  7. Time Zones and Rocket Ships

    Rocket launches show us that we can know that two future events will be simultaneous, or what the local time will be, but not both.

    Joël Quenneville
    December 6, 2022
    • Web
    • Rails
    • Ruby
  8. Data Modeling Resources in Elm

    Links to some of the best Elm data modeling resources around the web.

    Joël Quenneville
    November 15, 2022
    • Elm
    • Good Code
  9. Histogram Distribution in Ruby is Double Tally

    Using #tally to calculate the distribution of letters in a piece of text.

    Joël Quenneville
    October 31, 2022
    • Ruby
    • Development
  10. Using a Dependency Graph to Visualize RSpec let

    A visual answer to the question “what data is created when I execute this test?”.

    Joël Quenneville
    October 3, 2022
    • Development
    • Web
    • Ruby
    • Rails
    • Testing
« First ‹ Prev 1 2 3 4 5 6 7 … Next › Last »

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Sponsor
  • Mastodon
  • Bluesky
  • GitHub
  • YouTube
  • Twitch
  • Feeds
© 2025 thoughtbot, inc.

The design of a robot and thoughtbot are registered trademarks of thoughtbot, inc.

  • US: +1 (877) 9-ROBOTS
  • UK: +44 (0)20 3807 0560
  • Beware of fraudulent thoughtbot job listings Learn more
  • Code of Conduct
  • Accessibility Statement
  • Privacy Policy