Commentary on the ThoughtWorks Radar 2025

Quick commentary on the ThoughtWorks 2025 Tech Radar; their yearly report on things to try, adopt, and avoid (they call it “hold”, meaning proceed with caution whereas I’m like “yeah, no, avoid the noid”). I only cover the ones I find interesting, so if you want to read the whole thing, PDF is downloadable here: https://www.thoughtworks.com/en-us/radar

Hold

– SAFe: I turned down a potential job opportunity a few years ago specifically because the company was _investing_ into SAFe. Bizarre, too, because they are known for their awesome company culture. I’ve seen companies have a good engineering culture and still have SAFe like implementations, but… life’s too short not to be dogmatic about the insanity that is SAFe, so good to see it called out here.

– Replacing Pair-Programming with AI: Love to see this called out. Giving developers a rubber duck to bounce ideas off of is awesome, no doubt, but they negate all the benefits. I’m concerned about this because having single developers be assigned a piece of work to do in isolation and integrate later is a horrible way to work and continues to be norm; having AI’s further make this style more comfortable worries me.

– Node overload: Glad to see this called out, but never really encountered this myself. Specifically, Node.js continues to thrive in I/O specific workloads, like back-ends for front-ends (BFF’s) and other web API’s, but for compute heavy things, it just isn’t there unless you invest a lot of time in steams/web worker, and even then, it’s really hard to compete with what you get for free in things like Go, Rust, the JVM, Zig, Odin, etc.

Trial

– API Collections: With tools like Bruno/Postman/Insomnia, these should be table stakes. I learned awhile ago that Swagger/OpenAPI, even one that works in a browser, is still not good enough. If you’re producing a public API for developer consumption, these collections should be the bear minimum for on-boarding nowadays. This includes updates.

– Architectural Advice Process: I’ve had mixed results with ADR’s; architectural design records, and my experience with architects has been all over the map, but clearly seeing a decline of the architect role in the past 10 years, so interested to learn more.

– Claude Sonnet: All my friends tell me to use this AI model vs any other. I gave up on LLM’s a few years ago, but I trust my colleagues, so good to see ThoughtWorks confirm what they’re telling me.

– Effect: Good to see it promoted; as I get older and more experienced, or maybe just my recent “focus on helping your team(s), stop trying to change the world”, I’ve been a bit hesitant to jump on the bandwagon here. While Effect preaches 90% of what I believe in, I’ve had a lot of negative experiences with trying to get teams on-board with Functional Programming. At this point, my attitude is 1. help you code better 2. if you’re an FP dev, great, we’re friends 3. if you’re not, that’s fine, but I’m not going to attempt to convert you. I want to see Effect succeed, and I think if you look at the “I’m stuck in JavaScript/TypeScript for job reasons” landscape for tools to help Functional Programmers survive in that environment, Effect is the best out there right now.

– Prisma ORM: Flabbergasted to see ORM’s being recommended. Most of the crew I’ve developed with over the years has zero positive things to say about ORM’s. On the flip-side, when I talk to devs who use ORM’s in their projects, they dig them a lot. :: shrugs ::

Adopt

– Fuzz testing: Blasting random inputs at functions/API’s; if they don’t crash, test passes. Super old technique, but suddenly much more relevant given various people using AI’s to generate code with zero clue what they’re actually generating.

– GitLab CI/CD: Duh. So wonderful to see confirmation of what many already know; GitLab is amazing at unlocking continuous delivery for many, including those who have little to no Ops chops/experience like myself.

– uv: Depressing, but … predictable? A new, faster, better dependency manager for Python. Goodbye pipenv I guess?

– Vite: Yet again, great to see confirmation of what I’m seeing across the industry for a few years; Vite is _the_ build system for just about any project. While not mentioned, Vitest works for both client and server apps with a Jest style API, so there’s not much of a reason to use Mocha/Jest/Jasmine anymore, either. Combined with something like Bun, you get much faster builds and tests.

Assess

– Deno: Good to see it being promoted.

– Gleam: Great to see it being promoted. I don’t really have patience with languages that don’t have types nowadays, so was super depressed that Elixir was just a train stop in my FP journey. With Gleam providing types, I hope it brings BEAM as a valid contender for many projects.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *