A practical guide to reducing your Social Media time in 2023
Looking to reduce your social media time in 2023? Good for you! This is a road I have been down before. I’m not going to go into reasons why you should give up social media or to preach about the benefits; that’s not what this blog post is about. If you’re reading this you are probably already interested and have your own reasons for why you want to make this change. And so, here is a practical guide with steps that helped me to...
Stubbles - Stubbing and Doubles innit. 🧔
As you start to get more familiar with automated testing, at some point you will likely hear other developers say things like: “You know you can just stub that method, right?” “This is a great candidate for a double!” And at the beginning these things can be confusing to understand. 😕 So let’s start by defining each term, followed by their practical use, in specific relation to rspec within a rails project. Definitions...
Innovating healthcare access on the path to health equity
Why a healthtech event in Texas? Healthcare innovation, like many areas of tech, has been growing rapidly in Austin over the last decade. But as was also noted during Healthtech Austin’s Future of Care Delivery Summit, it’s also incredibly valuable to prove programs and products out in Texas specifically because if it can work here, it can work anywhere. The healthcare systems aren’t broken. They’re working exactly how they...
Upcoming React/React-Native Conferences
Participating in conferences is an singular opportunity for both personal and professional growth. Not only do we have the chance to stay up to date with the latest advancements and trends in our field, but also have the chance to connect with others, gain new perspectives and ideas, and become part of vibrant and supportive communities. The conference scene is gaining momentum once again and we couldn’t be more excited about the new...


Rails developers write some Rust: a review of Axum 0.6
For our company hackathon this year, three of us tried out the Axum crate to see what we could do with it and feel out its limitations. We loved a lot about it, but there’s still much more growth left for Rust libraries for backend Web development. This post is going to be technical and assume some level of Rust familarity. Jump to the conclusion for our non-technical summary. Project Structure Coming from Rails, we seldom...
This week in #dev (Dec 30, 2022)
Hey, happy new year! Welcome to the first 2023 edition of This Week in #dev, a series of posts where we bring some of the most interesting Slack conversations to the public. Today we’re talking about hiding HTML content, Active Record methods, and debugging system tests. HTML’s hidden Global Attribute Steve Polito has discovered a global attribute in HTML that can be used to hide content from the user. This attribute is hidden...

Introducing thoughtbot.social: Our Social Media Space on Mastodon
thoughtbot is now on Mastodon! More than that, we have created thoughtbot.social, a Mastodon instance where our team members and their followers can establish a social media presence in a safe and supportive environment. This started out as most things at thoughtbot do: an open issue on our handbook. Given the disturbing direction of Twitter and its new CEO, we wanted to discuss how we would like to approach our social media presence...
thoughtbot Apprenticeship Applications for Europe, West Asia and Africa for 2023 Are Now Open
We are now accepting applications from candidates based in Europe, West Asia and Africa for two Apprenticeship roles. These positions will start in late March 2023. The application deadline is 11 January 2023. Apprentice Designer who codes Apprentice Ruby on Rails Developer We’re a fully-remote company. These are remote, full-time positions with salary and full benefits. We are looking for teammates who overlap with our clients’...
This week in #dev (Dec 16, 2022)
Welcome to another edition of This Week in #dev, a series of posts where we bring some of the most interesting Slack conversations to the public. Today we’re talking about finding out why a yarn package is installed, how to limit values to a range in Ruby, and Rails application templates. Yarn why Daniel Nolan learned that Yarn has a command called why which can be used to find out what version of a module is being used and why...
In praise of verbosity
I tend to install command line software a lot, particularly when starting at a new client. For instance I install new versions of Ruby or other development infrastructure every few months. The kind of software that mostly works without me having to think about it, but when it does break, it’s obscure. It’s not possible (or desirable) to memorise every possible error in these situations, so I’ve needed to develop some skill to...
Pro-Bono Customer Discovery Sprint - Applications Open
We are excited to announce a new offering for 2023: A pro-bono Customer Discovery Sprint. This sprint has been designed for the specific needs of SBIR / STTR Grant recipients, in order to facilitate impactful exercises and produce unique deliverables over the course of 2 weeks. We are passionate about helping these innovative companies push their industry forward and in turn, grow our network and expertise in this space. Why...

Keeping it simple
I was creating a helper on a Rails app. That helper returned a path, and it had to have params in a fancy arrangement. It looked something like this: def path_to_conditions(model, condition_to_exclude) params = {q: {}} model.conditions.each do |name, value| next if name == condition_to_exclude params[:q][name] = value end some_path(params) end This got the tests passing, but I knew I would come back to it because,...
This week in #dev (Pilot)
This week in our Slack channels We usually avoid private messages. Among other benefits, it helps us to share knowledge across the company. Many interesting conversations and discoveries happen on public channels like #dev or #design. These are some of the most valuable resources we have, and now we decided to share some highlights with you, dear reader! Here’s a selection of the most interesting conversations that happened in...


Your flaky tests might be time dependent
Have you ever dealt with unexpected test failures, and no matter how many times you re-run the tests, they still fail? You assume that you introduced a bug, so you stash your changes and checkout main and run the same tests, but are surprised to see that they still fail, even though the latest build is passing. Dejected, you close your laptop and call it a day, only to return to a passing test suite the next morning. The problem...