← Back to Library

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

...
Read full article on The Pragmatic Engineer →