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. Working Iteratively

    Working in small chunks is one of the most impactful things we can do as developers.

    Joël Quenneville
    September 15, 2022
    • Development
    • Playbook
  2. Value Object Semantics in Ruby

    What is the correct behavior of hash, ==, eql? and equal? for value objects?

    Joël Quenneville
    July 18, 2022
    • Ruby
    • Good Code
    • Domain Modeling
    • Web
  3. Custom Ranges in Ruby

    How can we create ranges out of custom objects?

    Joël Quenneville
    April 15, 2022
    • Ruby
  4. Debugging at the Boundaries

    Get better at detecting and preventing bugs by focusing on the boundaries in and around your program.

    Joël Quenneville
    December 7, 2021
    • Debugging
    • Debugging Series 2021
  5. What technologies should I learn?

    What technologies do we recommend to early career web developers?

    Joël Quenneville
    November 18, 2021
    • Web
    • Ruby
  6. A Broader Take on Parsing

    Broadening our definition of “parsing” yields some useful insights.

    Joël Quenneville
    October 14, 2021
    • Elm
    • Ruby
    • Parsing
    • Web
  7. Ruby safe navigation

    Ruby’s safe navigation can hide some subtle edge cases. We explore approaches to think about conditional logic, alternatives to &., and when &. is the best tool for the job.

    Joël Quenneville
    October 13, 2021
    • Development
    • Web
    • Ruby
  8. Models That Match Reality

    When modeling a domain, it’s important to have our model actually match reality.

    Joël Quenneville
    October 12, 2021
    • Design
    • Web
    • Elm
    • Ruby
    • Modeling
  9. Fewer Operations on Custom Types is Valuable

    Less is more. Wrapping primitives in custom types restricts your available operations and that’s a good thing.

    Joël Quenneville
    October 11, 2021
    • Elm
    • Ruby
    • Web
  10. Who is empowered by your API design?

    Analysing API design through lens of skill floors and ceilings can help us think about the impact of adding a feature.

    Joël Quenneville
    October 7, 2021
    • Design
    • Web
    • F#
« First ‹ Prev 1 2 3 4 5 6 7 8 … 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