You need to fight for feedback. We often front-load discovery to feel confident before building—but that's not real agility. Continuous learning reduces risk better than perfect plans ever could. https://link.testdouble.com/8480aa
Our mission is to improve how the world builds software. And we do that by building both great software and great teams. We're a software development agency offering consulting services in custom software development, DevOps and product delivery. We help technology leaders get to a better place with software built to last. Legacy systems are unwound and detangled. Teams emerge happier and healthier. Leaders get maintainable software at a sustainable pace.
You need to fight for feedback. We often front-load discovery to feel confident before building—but that's not real agility. Continuous learning reduces risk better than perfect plans ever could. https://link.testdouble.com/8480aa
Your velocity problem isn't a headcount problem. It's an unclear requirements problem. A technical debt problem. A tooling problem. Hiring more developers to work around broken processes just amplifies the chaos. https://link.testdouble.com/859d61
Spending hours perfecting code, then writing a lazy PR description is like:
🎂 Baking a masterpiece cake
🤚 Smearing frosting on with your hands
A PR is your code's first impression. Make it count.
1️⃣ Create templates (less thinking, more focus)
2️⃣ Add videos/screenshots (visual > text walls)
3️⃣ Break it down (cognitive load matters)
4️⃣ Attach preview deployments (playing > reading)
5️⃣ Pair (collaboration > isolation)
More dos and don'ts: https://link.testdouble.com/36cc8f
The critical things that ensure your software application is maintainable now and in the future are seemingly simple.
Staff Consultant Brian Hughes shares two key truths about automated tests and legacy software applications.
Slow delivery isn't usually about your people—it's about your system. Shifting focus to incremental improvements in the system helps change not just processes but behaviors for lasting change. https://link.testdouble.com/16ce29
Healthcare tech teams keep launching features. Tech debt keeps growing. The problem isn't your developers—it's solving symptoms instead of root causes. This report points to possible reasons why. https://link.testdouble.com/a83fa2
And you can contribute to the ongoing survey data here: link.testdouble.com/health-tech-survey
If you rely on Ingress NGINX pay attention! https://kubernetes.io/blog/2026/01/29/ingress-nginx-statement/
Stop debugging auth issues in production. One solid smoke test can catch auth regressions before they hit your users. Here's how to set up reliable auth testing with Playwright in Next.js—without slowing down your team. https://link.testdouble.com/9041e7
TFW nothing works, everyone is frustrated with everything, and you don't know what to fix or where to start. Our technical and product assessments uncover root causes and prioritize real fixes we can help you with, not slide deck solutions. Give us a holler to find out more.
Staff Consultant Steve Jackson shares when a legacy software app rewrite makes sense vs a refactor approach.
https://youtu.be/f1u-8YYm4Og
Learn advanced Pydantic techniques to bring order to chaotic, real world data. In this talk @kadams54 gave for IndyPy he introduces Pydantic for Python with practical examples. https://link.testdouble.com/ca2c12
In healthcare, challenges around interoperability, compliance, and data abound. A pragmatic approach that's focused on driving the business forward helps cut through the noise. Many thanks to Kiley Blake for contributing insights to our report, Symptoms to Sources!
We surveyed healthcare CTOs/CPOs/VPs of Engineering about their blockers. Limited resources topped the list (79%), but technical debt (21%) came in lower than expected. The data tells an interesting story about misaligned priorities. But it's not complete!
If you (or someone you know) is a tech or product leader in healthcare, they can add their voice to ongoing research via a survey linked in the report. https://link.testdouble.com/a83fa2
Learn how to validate datatypes that go beyond Python's primitives with Pydantic. This blog from Kyle Adams & Gabriel Côté-Carrier covers different validators included with Pydantic as well as how to write your own custom validators.
And it's post 4 in an ongoing series on learning the benefits of using Pydantic with Python!
Many teams get stuck choosing between massive rewrites (unrealistic) or good intentions (unsustainable). There's a better way that gives you concrete answers while making the work genuinely satisfying. An incremental, ratcheting approach can give you more leverage for lasting impact. We offer assessments that can help you find the seams and map out a plan to get started.
The problems most worth solving are often the slippery ones. The problems that are hard to define the edges of. Many thanks to Mike Berkman for contributing insights to our report on healthcare challenges, Symptoms to Sources!
Software problems are human problems in action 🛠️
Gabriel helped a client turn observability from weakness to strength. The technical wins were important—structured logging, easier queries, stakeholder dashboards.
But the lasting impact came from treating it as a team capability, not just tooling. Extensive docs, demos, knowledge transfer sessions. Because the best technical solution is worthless if it leaves with the consultant.
The approach that worked: https://link.testdouble.com/1b7431
Staff Consultant Brian Hughes shares why a seams approach to legacy modernization can be even more complicated when seams are crossed.
This introduces multiple possible paths. Luckily for you, we've encountered that before 💚
From "don't make mistakes" to "let's manage them better" is a journey. One mindset leads to burnout and blame. The other leads to automation, better processes, and actually sustainable software delivery. Guess which one works? https://link.testdouble.com/9a7f27
Product transformations stall when organizations try to change behaviors without first naming them. Product Consultant Michael Toland reminds us: you can't transform culture without codifying what it means in practice.
Principles codified into daily decisions. Not posters. Tools.
Real codification means principles that constrain + trade-offs that acknowledge tension.
Without this foundation, autonomy becomes chaos. https://link.testdouble.com/4613ca