Berlin

November 4 & 5, 2024

New York

September 4 & 5, 2024

Understanding the ‘Cambrian explosion of generative AI tools’

And other themes from the latest Thoughtworks' Technology Radar
October 24, 2024

You have 1 article left to read this month before you need to register a free LeadDev.com account.

Generative AI is reaching into many more parts of the software development process, creating a whole new set of considerations for engineering leaders.

Every six months, 20 or so senior technologists at the software consultancy Thoughtworks get together to compile the latest Technology Radar, a snapshot of the various tools, techniques, platforms, languages, and frameworks its consultants have encountered in the wild, each of which is represented by a blip on the radar.

During those discussions, some common themes emerged. LeadDev spoke to Ken Mugrage, a principal technologist in Thoughtworks’ Office of the CTO, about how AI-assisted software development dominated the conversation, why slow and steady is winning the race for WebAssembly (WASM), and the pervasiveness of Rust.

Coding assistance antipatterns

What is it?

Since the launch of GitHub Copilot in 2021, AI coding assistants have only gone from strength to strength. Like them or loathe them, they have become integral to many software developers’ everyday processes.

With this pattern comes some natural and undesirable antipatterns, including the mistaken notion that AI can fully replace humans as pair programming companions, putting too much trust in coding assistants, and creeping code quality issues.

Why should you care?

Far from hitting the trough of disillusionment with AI coding assistants, Mugrage thinks that developers have been too trusting to date. Without knowing what good code in an unfamiliar language looks like, it’s difficult for a developer to know if the code being churned out is fit for purpose. This creates a problem for engineering leaders responsible for the quality and reliability of the codebase as a whole.

“It was very easy to get fixated on AI and AI adjacent [things] but that doesn’t mean that proper testing of applications is any less important than it was,” Mugrage said. Keeping humans in the loop, traditional pair programming, and automation testing become more important than ever in environments where coding assistants are the norm.

A Cambrian explosion of AI tools

What is it?

Looking at this edition of the tech radar, there was a clear explosion in the number of generative AI-powered tools outside of coding assistants, from agent-building tools to evals and vector databases.

These are the picks and shovels of the generative AI boom, but also a lot of these tools can broadly be grouped under the category of risk management, helping engineers to establish organizational guardrails and evaluations for generative AI use. It was no real surprise to see retrieval-augmented generation (RAG) remain within the adopt ring of the latest radar as a result.

Why should you care?

The difficulty for engineering leaders is knowing if any of these tools are better than what they get by default from their cloud provider.

“It’s a little bit of that whole ‘best of breed versus’ conversation again,” Mugrage said. “As an engineering leader you need to develop criteria. What are you trying to prove? What are you trying to get out of it? What are your ROI expectations? Develop criteria like you would with anything else, but be careful that you don’t stifle your organization.”

What else came up?

Aside from AI, some other themes came up repeatedly in the October Technology Radar.

Rust is anything but rusty

What is it?

Adoption of the versatile programming language Rust has been trending upward for a decade now. According to Stack Overflow’s latest developer survey, it’s also one of the most admired languages, boasting an 82% admiration score.

While Rust itself didn’t blip on Thoughtworks’ radar all that much, its pervasiveness was felt by the panel of technologists. “There’s very little about Rust on the radar,” Mugrage said, “but during the discussions, when people were talking about tool A or tool B, it became almost the common joke of ‘well, was this written in Rust?’”

Why should you care?

Excitement for a new technology is common amongst developers. While you’ll want to harness this, it’s also important to objectively assess whether it’s the right choice for the job at hand. 

“It’s hard for me to get excited about any one particular language, because there’s always a new language,” Mugrage said. “You need to have the same rigor you would have around anything else, regardless of how exciting something is. Does this fit in our enterprise? Can we support it? Do we believe the Rust community is going to be around? I think that’s a definite yes. All of the things that you would do when you’re evaluating any core part of your tech stack, make sure you do it here.”

The gradual rise of WASM

What is it?

WASM has been full of promise since it emerged as a way to run complex applications within a browser sandbox, but it has never really hit mainstream adoption. Why now?

Why should you care?

It’s a simple case of momentum. “It came up even more this time,” Mugrage said. “It’s just all the little things that seem to be clicking now.”

While Docker certainly wasn’t the first company to do containerization, it made the technique more accessible, and Mugrage feels like “WASM is in that same area now, where all four browsers have supported it for a few years, and so even people who don’t upgrade on a regular basis likely can now.”

Final thoughts

While AI can certainly feel like an oversized distraction for many engineers, it isn’t going away any time soon, leaving engineering leaders in a familiar position of having to carefully assess where best to invest their time and energy, without trying to resist a tidal wave of progress.

While technologies like Rust and WASM have taken years to mature into enterprise-worthy technologies, Generative AI jumped more than a few steps along the way, leaving many of you scrambling to keep up. Take a breath, don’t panic, and remember the fundamentals.