Skip to main content
Test Double company logo
Services
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say Hello
Test Double logo
Menu
Services
BackGrid of dots icon
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Management
Launch modern product orgs
Legacy Modernization
Renovate legacy software systems
Cycle icon
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical Assessments
Uncover root causes & improvements
Case Studies
Solutions
Solutions
Accelerate Quality Software
Software Delivery, DevOps, & Product Delivery
Maximize Software Investments
Product Performance, Product Scaling, & Technical Assessments
Future-Proof Innovative Software
Legacy Modernization, Product Transformation, Upgrade Rails, Technical Recruitment
About
About
About
What's a test double?
Approach
Meeting you where you are
Founder's Story
The origin of our mission
Culture
Culture
Culture & Careers
Double Agents decoded
Great Causes
Great code for great causes
EDI
Equity, diversity & inclusion
Insights
Insights
All Insights
Hot takes and tips for all things software
Leadership
Bold opinions and insights for tech leaders
Developer
Essential coding tutorials and tools
Product Manager
Practical advice for real-world challenges
Say hello
Explore all agents
Twitter company logoIcon for Mastadon.GitHub company logoLinkedIn company logoInternet logo
RECENT DEPLOYMENTS:
journey
Field reporting

Field reporting

package
Open source

Opensource

tasks
Type systems

Type systems

beaker
Mad science

Mad science

Agent #
002

Justin Searls

#CoFounder
Location pin icon
Orlando, FL
Twitter company logoGitHub company logoLinkedIn company logoInternet logo
his
mission (
he
chose to accept it):
Unearth bugs like no one else can

Ruby

Keynote

Receiving feedback

Dishing hot takes

Golfing

Noteworthy Achievements:
  • Co-founded a software agency back in 2011; contributed less than one might think as its people and clients surpassed all expectations
  • Peaked too young by keynoting at each of RubyConf 2014, RubyKaigi 2016, and RailsConf 2017
  • Cornered the market in over-opinionated mocking libraries—actively maintaining Mocktail for Ruby and testdouble.js for JavaScript
  • Gave a keynote in Japanese once at Ooedo Ruby 2020 .​.. that was scary
  • Spared myself and others a lot of pain by knowing myself well enough to avoid going into management—there's no shame in being a practitioner!
Dossier Quotes:
I'm the only full-time dev at my company, so I love this kind of video series. Even though you're not talking to me, it's easy to pretend that you recorded these "conversations" directly for my benefit. Being a solo dev slows my growth for all the obvious reasons, so I make sure to fill in the gap with content like yours.
A green circle depicting the outline of a human.
via YouTube
Lee Stetson
Reports from the field:
🔗
16 things software developers believe, per a Justin Searls survey
🔗
Only you can give meaning to your career
🔗
How to start speaking at conferences
🔗
How test_data speeds up Rails tests
🔗
Why did Lineman.js fail and what can we learn from it?
🔗
Why TLDR is the Ruby testing framework you need for faster feedback
🔗
Podcast: An aberrant generation of programmers
🔗
The looming demise of the 10x developer
🔗
Let's Standardize Rails!: An experiment in direct RuboCop democracy
🔗
Field Report: RubyKaigi
🔗
Never staff to the peak
🔗
How to tell if AI threatens YOUR job
🔗
What is a Meta Programmer?
🔗
Why you need the new Standard Ruby VS Code extension
🔗
Super Standard: How to add gem extensions and custom rules to Standard Ruby
🔗
Podcast: Don't sleep on Ruby and Rails
🔗
Remembering Chris Seaton's legacy in the Ruby community
🔗
Building a linkblog with Hugo, Tailwind and Netlify
🔗
Creating email-based passwordless authentication in Rails
🔗
A better way to sort Ruby objects: How our Put gem makes sorting by multiple conditions easy
🔗
Stateless forms with the Rails Attributes API
🔗
Debugging Ruby on Rails with Visual Studio Code
🔗
Handling Heroku's "heroku_ext" schema for Postgres extensions
🔗
Please mock me
🔗
How to fake time in a Postgres database
🔗
How to trust again
🔗
How to clean URL parameters for better UX
🔗
How to make a gem of a gem
🔗
How to build a search engine with Ruby on Rails
🔗
Improve Ruby productivity by tracking code performance with time_up
🔗
How to find and remove dead CSS
🔗
How to implement your own Twitter OAuth login flow
🔗
How to completely uninstall and reinstall Homebrew Postgres
🔗
How to turn lagging statistics into leading indicators
🔗
Setting up a new Mac for development
🔗
Speed up your Rails app with upsert_all
🔗
Remote work decoded: Surprising truths and solid strategies for your team
🔗
Cypress vs. Capybara
🔗
Why mastering testing is hard: The necessary and sufficient rule
🔗
How to back up Heroku Postgres databases: a complete guide
🔗
Optimize Rails enums with Postgres: A guide
🔗
The Selfish Programmer
🔗
Running a business, demystified
🔗
Please don't mock me
🔗
There's nothing new under the sun
🔗
How to program
🔗
testdouble.js 2.0: your new go-to for JavaScript testing
🔗
How to scratch an itch: A creativity talk
🔗
Keep Ruby weird again
🔗
Surgical Refactors with Suture
🔗
Happier TDD with testdouble.js
🔗
Make Ruby great again
🔗
testdouble.js vs. sinon.js: Which is better for JavaScript testing?
🔗
Simplify your Rails projects with good migrations
🔗
How to debug dependencies with git bisect
🔗
How to stop hating your tests
🔗
My favorite way to TDD
🔗
Sometimes a controller is just a controller
🔗
What you need to know for a test setup in Rails applications
🔗
The social coding contract
🔗
How to keep your Rails migrations healthy
🔗
Migrating from MongoDB to PostgreSQL in Rails
🔗
Breaking up (with) your test suite
🔗
Mock objects in discovery tests
🔗
JavaScript testing tactics: Lightning edition
🔗
A step-by-step guide to crafting a conference talk
🔗
The trouble with estimates in custom software development
🔗
The failures of introducing test driven development
🔗
1st-class web development with Lineman
🔗
JavaScript testing tactics
🔗
How to create great conference talks in tech
🔗
Office politics for the thin-skinned developer
🔗
Unrequired love: A discussion on Javascript and dependency management
Justin Searls
's
Latest Projects:
🔗
Enbala
RECENT DEPLOYMENTS:
Field reporting

Field reporting

Open source

Opensource

Type systems

Type systems

Mad science

Mad science

A keyboard, glasses, test double logo and rubber duckies.
Two test double employees wearing test double t-shirts embrace and smile at the camera.
Two people embrace and smile at the camera at a group event.
A person laughs at the camera in a group setting with a group of people.
Test double rubber duckie in a pool.
A keyboard, glasses, test double logo and rubber duckies.
Two test double employees wearing test double t-shirts embrace and smile at the camera.
Two people embrace and smile at the camera at a group event.
A person laughs at the camera in a group setting with a group of people.
Test double rubber duckie in a pool.
A keyboard, glasses, test double logo and rubber duckies.
Two test double employees wearing test double t-shirts embrace and smile at the camera.
Two people embrace and smile at the camera at a group event.
A person laughs at the camera in a group setting with a group of people.
Test double rubber duckie in a pool.

Let’s collaborate

We’re the team on a mission to improve how the world builds software.

Let’s talk about how to tackle hard software investment problems across the entire product life cycle.

Get started
Calendar icon

Chat with our team

Test Double Office Hours

Curious about what we're like to work with? We offer 30-minute turbocharged office hours with no strings attached—just pure, unadulterated brainstorm power.

Learn more
Test Double company logo
Improving the way the world builds software.
What we do
Services OverviewSoftware DeliveryProduct ManagementLegacy ModernizationDevOpsUpgrade RailsTechnical RecruitmentTechnical Assessments
Who WE ARE
About UsCulture & CareersGreat CausesEDIOur TeamContact UsNews & AwardsN.E.A.T.
Resources
Case StudiesAll InsightsLeadership InsightsDeveloper InsightsProduct InsightsPairing & Office Hours
NEWSLETTER
Sign up hear about our latest innovations.
Your email has been added!
Oops! Something went wrong while submitting the form.
Standard Ruby badge
614.349.4279hello@testdouble.com
Privacy Policy
© 2020 Test Double. All Rights Reserved.