Skip to main content
Test Double company logo
Services
Services Overview
Holistic software investment consulting
Software Delivery
Accelerate quality software development
Product Impact
Drive results that matter
Legacy Modernization
Renovate legacy software systems
Pragmatic AI
Solve business problems without hype
Upgrade Rails
Update Rails versions seamlessly
DevOps
Scale infrastructure smoothly
Technical Recruitment
Build tech & product teams
Technical & Product 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 Impact
Drive results that matter
Legacy Modernization
Renovate legacy software systems
Pragmatic AI
Solve business problems without hype
Cycle icon
DevOps
Scale infrastructure smoothly
Upgrade Rails
Update Rails versions seamlessly
Technical Recruitment
Build tech & product teams
Technical & Product 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

Insights for great software & great teams

How-to guides, tooling tips and real-world advice for developers and product managers tired of broken software. Let’s fix this mess together.

Sign up and get insights delivered to your inbox.

How-to guides, tooling tips and real-world advice for developers and product managers tired of broken software. Let’s fix this mess together.

Want to talk shop or tackle a problem in real time? Unpack it with a developer or product manager.

Get our newsletter
Grab time now
Line drawing of a rocky mountain peak with a base camp and people building structures
Developers
Developers
Developers
Quality you can’t generate: AI is only as good as your constraints

AI changed the cost structure of software. It didn't change the value structure. The value is no longer the code you write. It's the taste, judgment, and constraints you encode into the system that shapes what AI produces.

Dave Mosher
Dave Mosher
Pragmatic AI
A figure looks off towards the horizon. On the left is a giant robot, on the right a splash of vibrant color, connected nodes and a city unfurl.
Leadership
Leadership
Leadership
Why we're not chasing the AI hype (And what we're doing instead)
Todd Kaufman
Todd Kaufman
Pragmatic AI
Leadership
Leadership
Leadership
Speed is a side effect of making the system work
Doc Norton
Doc Norton
Maximize software investment
Rubber duck in fedora and trench coat stands next to a vintage microphone
Developers
Developers
Developers
IndyPy Talk: Pydantically perfect in every way
Kyle Adams
Kyle Adams
Software tooling & tips
All Categories
Click to select
Clear SElection
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
Test Double short-form logo against a green background

Double Takes

+ Expand posts
- Collapse POSTS
Test Double short-form logo against a green background

Double Takes

TDDing with Claude is like having a pair that removes all the failing assertions every time you go to the bathroom.

Steve Jackson

State machines are the answer for those seeking determinism in the era of AI agents.

Dave Mosher

A Slack conversation left Doc reflecting on what bug bashes say about the systems we work in.

Doc Norton

Test-driven development is to programming what double-entry bookkeeping is to accounting.

Neal Lindsay

The fundamental character flaw of the software creator is not the misguided belief that they can solve any problem with software. Instead, it is the belief they can understand how their own software works before they create it.

Steve Jackson

We may need a SaaS appendix for Zawinski's law:

Any SaaS platform attempts to expand until it is a social network.
Matt Jones
Developers
Developers
Developers
Simplify your code: the power of extracting functions in refactoring
Discover how extracting functions can simplify your code, improve readability, and enhance maintainability. Dive into best practices and practical examples.
Kevin Baribeau
Kevin Baribeau
Legacy modernization
react
testing
javascript
legacy-modernization
tech-debt
Terminal screen showing code example
Developers
Developers
Developers
Abusing promises as a locking mechanism in JavaScript
Learn to leverage JavaScript promises in unexpected ways. Promises in JavaScript are made for asynchronous data, but aside from that data you can glean a little extra information: timing.
Neal Lindsay
Neal Lindsay
Software tooling & tips
javascript
node.js
testing
automation
Icon of a person standing on top of a mountain and holding a flag high
Developers
Developers
Developers
The Selfish Programmer
In Justin Searls' seminal RailsConf 2019 talk he explores things programmers can learn by building an application by and for themselves—and the surprising number of lessons that might translate to their work on teams and larger organizations.
Justin Searls
Justin Searls
Accelerate quality software
consulting
heroku
javascript
postgres
rails
Developers
Developers
Developers
Learning Go: A JavaScript developer’s journey
Discover the phases a JavaScript developer experiences when learning Go, from confusion to curiosity, and how it reshapes their programming approach.
Brittany Moore
Brittany Moore
Software tooling & tips
go
javascript
open-source
testing
Leadership
Leadership
Leadership
DevOps, TDD and developer productivity: Why NoOps is the future
Reflecting on DevOps, test-driven development and how NoOps can help your team focus on delivering valuable features instead of getting bogged down in infrastructure management.
Micah Adams
Micah Adams
DevOps & security
agile
teams
Developers
Developers
Developers
Build and deploy Node.js projects on Raspberry Pi
Discover the best practices for building and deploying Node.js projects on your Raspberry Pi. Overcome common challenges and make your projects run smoothly with our expert tips and tricks.
Kaleb Lape
Kaleb Lape
Software tooling & tips
automation
javascript
node.js
testing
Leadership
Leadership
Leadership
Why managing technical debt isn't like handling credit card debt
Technical debt isn’t like credit card debt. Learn why treating it as such can harm your software development process and discover better strategies to manage it.
Sam Jones
Sam Jones
Legacy modernization
agile
teams
legacy-modernization
tech-debt
Pile of rusty chains
Developers
Developers
Developers
Guide to zero-copy FFI with Rust and Unity
A technical guide to building zero-copy FFI bridges between Rust and Unity. Learn how to pass structs and objects across language boundaries using C-compatible memory layouts and proper ownership patterns.
Michael Schoonmaker
Michael Schoonmaker
Software tooling & tips
rust
javascript
ruby
swift
Previous
Load more posts
39 / 47
Letter art spelling out NEAT

You're N.E.A.T.!

Technology is a means to an end: answers to very human questions. We want to connect with other folks who share that belief.

Ways to connect
Test Double Executive Leadership Team

Learn about our team

Like what we have to say about building great software and great teams?

Get to know us
Rubber duck with Rubik's cube
Test Double double agents at retreat
Test Double double agents at retreat
Test Double rubber ducks and stickers
Test Double double agents at retreat
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.
Rubber duck with Rubik's cube
Test Double double agents at retreat
Test Double double agents at retreat
Test Double rubber ducks and stickers
Test Double double agents at retreat
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.
Rubber duck with Rubik's cube
Test Double double agents at retreat
Test Double double agents at retreat
Test Double rubber ducks and stickers
Test Double double agents at retreat
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 StrategyLegacy ModernizationPragmatic AIDevOpsUpgrade RailsTechnical RecruitmentAssessments
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.