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. Safe dynamic object access in TypeScript

    Satisfy the Typescript type-checker when doing dynamic object access and write safer code in the process.

    Joël Quenneville
    March 19, 2025
    • TypeScript
    • Types
    • Development
  2. Triangle of Separation

    Write code that’s easier to read, remix, and modify by following this trio of principles.

    Joël Quenneville
    March 3, 2025
    • Ruby
    • Elm
    • Development
    • Good Code
  3. How to customize ids in URLs in your Rails app

    Override the to_param method on your object to customize how Rails builds the id to put in the URL.

    Joël Quenneville
    February 10, 2025
    • Development
    • Web
    • Rails
    • Ruby
  4. My note-taking system gives me constant content ideas

    I create a lot but never run out of ideas. Part of my secret is the note-taking system I use.

    Joël Quenneville
    February 6, 2025
    • Conferences
  5. Interrogate your experience with a mindmap

    Turn vague experience into concrete takeaways by using a mindmap.

    Joël Quenneville
    February 5, 2025
    • Writing
  6. Turning experience into growth

    You work a full time job shipping features. Use active learning to turn that experience into technical and professional growth.

    Joël Quenneville
    January 27, 2025
    • Learning
    • Development
  7. How to infer the form method for custom objects in Rails

    Automatically infer the correct HTTP verb in your Rails forms by defining the persisted? method.

    Joël Quenneville
    January 15, 2025
    • Development
    • Web
    • Rails
    • Ruby
  8. 4 tips when getting started with Hotwire

    A few best practices to keep in mind when getting started with Hotwire and Rails.

    Joël Quenneville
    November 4, 2024
    • Hotwire
    • Rails
    • Web
    • Development
  9. Return an Enumerator When Your Collection Has Multiple Traversals

    When your custom collection has more than one way to be traversed, return Enumerator instead of including Enumerable.

    Joël Quenneville
    August 14, 2024
    • Ruby
    • Enumerator
    • Development
  10. Flesh Out Your Conference Talk Idea Using a Rubric

    Avoid writers block by using a rubric to flesh out your conference talk idea.

    Joël Quenneville
    July 11, 2024
    • Conferences
« First ‹ Prev 1 2 3 4 5 6 … 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