How AI will change software engineering – with Martin Fowler
Deep Dives
Explore related topics with these Wikipedia articles, rewritten for enjoyable reading:
-
Waterfall model
10 min read
Linked in the article (7 min read)
-
Smalltalk
14 min read
Linked in the article (42 min read)
-
Agile software development
14 min read
Martin Fowler was one of the original signatories of the Agile Manifesto, and the episode discusses the origins and evolution of Agile methodology. Understanding the historical context and principles of Agile provides essential background for appreciating how AI tools are changing software development workflows.
Stream the latest episode
Listen and watch now on YouTube, Spotify, and Apple. See the episode transcript at the top of this page, and timestamps for the episode at the bottom.
Brought to You by
• Statsig — The unified platform for flags, analytics, experiments, and more. AI-accelerated development isn’t just about shipping faster: it’s about measuring whether, what you ship, actually delivers value. This is where modern experimentation with Statsig comes in. Check it out.
• Linear — The system for modern product development. I had a jaw-dropping experience when I dropped in for the weekly “Quality Wednesdays” meeting at Linear. Every week, every dev fixes at least one quality isse, large or small. Even if it’s one pixel misalignment, like this one. I’ve yet to see a team obsess this much about quality. Read more about how Linear does Quality Wednesdays – it’s fascinating!
—
In this episode
Martin Fowler is one of the most influential people within software architecture, and the broader tech industry. He is the Chief Scientist at Thoughtworks and the author of Refactoring and Patterns of Enterprise Application Architecture, and several other books. He has spent decades shaping how engineers think about design, architecture, and process, and regularly publishes on his blog, MartinFowler.com.
In this episode, we discuss how AI is changing software development: the shift from deterministic to non-deterministic coding; where generative models help with legacy code; and the narrow but useful cases for vibe coding. Martin explains why LLM output must be tested rigorously, why refactoring is more important than ever, and how combining AI tools with deterministic techniques may be what engineering teams need.
We also revisit the origins of the Agile Manifesto and talk about why, despite rapid changes in tooling and workflows, the skills that make a great engineer remain largely unchanged.
Interesting quotes from the episode
On what non-determinism introduced by LLMs will mean for software engineering:
...Gergely: “Is this the first time we’re seeing a tool that is so wide to certain software engineering that is non-deterministic?”
Martin: “It’s a whole new way of thinking. It’s got some interesting parallels to other forms of engineering.
In other forms of engineering, you think in terms of tolerances. My wife’s a structural engineer. She always thinks in terms of what are the tolerances, how much extra stuff do I
This excerpt is provided for preview purposes. Full article content is available on the original publication.
