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
Web Development
  • Ruby on Rails
  • Hotwire
  • AI and Machine Learning
  • React
  • Maintenance
Mobile Development
  • React Native
  • iOS
  • Android
Design
  • UX, UI, and Product Design
  • Design Research
  • Design Systems
Product
  • Product Management
  • Product Design Sprint
  • Research and Strategic Insights
  • Accessibility
Team and Processes
  • Team Augmentation
  • Fractional Leadership
  • Level up your junior team
View all Services
View all Resources
Development
  • Tech Leadership Resources
  • Open Source
  • Books
  • The Bike Shed Podcast
  • Live Streaming on YouTube
The business of great software
  • Playbook
  • Startup Incubator
  • Giant Robots Smashing Into Other Giant Robots Podcast
  • Design Sprint Guide
  • Live Streaming on LinkedIn
View all Resources

Types Articles

Written by thoughtbot, your expert strategy, design, product management, and development partner.

    • All Topics
    • Design
    • Web
    • iOS
    • Android
    • More topics
  1. Type-Driven Design, Test-Driven Design

    TDD purism belongs to the world of dynamic typing.

    Mike Burns
    February 8, 2021
    • Types
    • Testing
    • TDD
  2. Useful utilities

    A strict type system doesn’t mean inflexible. We can bend it to meet our needs with the utilities that ship with TypeScript.

    Alejandro Dustet
    February 1, 2021
    • TypeScript
    • Types
    • Good Code
  3. Type systems and checking in Elixir and Ruby

    Adding type checking to dynamically typed languages is possible, and awesome!

    Hawley Brett
    January 18, 2021
    • Elixir
    • Ruby
    • Types
    • Good Code
  4. TypeScript: Stop Using 'any', There's a Type For That

    Chances are you’ve worked with the any type in TypeScript. It’s widely overused, and subtly dangerous. Let’s explore why you should avoid it, and when you might truly need to use it.

    Alejandro Dustet and Wil Hall
    October 13, 2020
    • TypeScript
    • Types
    • Good Code
  5. Going through changes with TypeScript

    When we inevitably make changes to our codebase, any help is appreciated, and a type system can be your best friend.

    Alejandro Dustet
    March 30, 2020
    • TypeScript
    • Types
    • Web
  6. JavaScript Type Checkers are More than Linters

    Treating your JavaScript type checker as a linter doesn’t allow you to fully leverage your static type system.

    Sid Raval
    November 21, 2019
    • JavaScript
    • Types
  7. Modeling Currency in Elm using Phantom Types

    Lean on Elm’s friendly compiler to enforce currency-related constraints.

    Joël Quenneville
    October 28, 2019
    • Web
    • Elm
    • Types
  8. Better domain modeling in Elixir with sum types

    Sum types are a powerful domain modeling technique. Let’s look at how to use them to remove invalid states.

    German Velasco
    July 26, 2019
    • Elixir
    • Functional Programming
    • Types
    • Good Code
  9. Static Types In Medias Res

    Adding static types after the fact can be a boon to your React Native codebase.

    Sid Raval
    October 8, 2018
    • React Native
    • JavaScript
    • Types
    • Refactoring
  10. Shaping Values with Types

    Elm types like String can represent an infinite number of possible values. Let’s use types to reduce that number and better declare intent.

    Josh Clayton
    April 13, 2018
    • Elm
    • Types
  11. Sign up to receive a weekly recap from thoughtbot

Footer

thoughtbot
  • Services
  • Case Studies
  • Resources
  • Let's Talk
  • Our Company
  • Careers
  • Purpose
  • Blog
  • Sponsor
  • Mastodon
  • GitHub
  • Instagram
  • YouTube
  • Twitch
© 2024 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