How AI will change software engineering – with Martin Fowler

The Pragmatic Engineer · video · 2025-11-19 source ↗ Reader 🖥️

Abstraction Shifts in Programming (History)Agile & XPDeterministic Code Generators (LLM-Authored)Expert GeneralistThe Genie (Beck)Learning Culture & SlackLegacy & Organizational ForgettingNon-Deterministic SoftwarePull Requests & Async Code ReviewSoftware Design FundamentalsVibe Coding
AI's defining change to software engineering is not primarily a jump in abstraction level but a shift from deterministic to non-deterministic systems — and the disciplines that make software durable and legible to teams over time (small reviewable steps, tests, refactoring, shared vocabulary, mentorship) matter more, not less, as a result, even as the field has not yet worked out how teams — as opposed to individuals — should operate with AI.

mixed · mixed — A long-form interview (Gergely Orosz with Martin Fowler) that is theoretical when characterizing what AI changes about software (determinism vs. non-determinism) and practical when giving concrete guidance (how to vibe code responsibly, how to refactor, how to spec, how to run agile with AI). Narrative digressions (Fowler's career, the Agile Manifesto meeting, book-writing history) carry implicit arguments about craft and mentorship.

Structure

PartRole
Career narrative and ThoughtWorks background (ThoughtWorks Radar, object orientation, Agile Manifesto origin story)context
The determinism/abstraction framingthesis statement
Where LLMs already clearly work: prototyping/exploration ('vibe coding' done right) and legacy-system understandingevidence
Where it's unresolved: safely modifying (not just understanding) legacy/brownfield code, and how teams (not individuals) should operate with AIopen question / limitation
Vibe coding definition and the learning-loop argumentevidence + argument
Testing, spec-driven development, and the waterfall analogyargument
Refactoring's past and future value under AI-generated code volumeargument
Why design-pattern vocabulary faded in the 2010s (cloud-managed building blocks, generational/cultural shift)context / tangential argument
Agile's core value (cycle time) restated for the AI eraargument
Advice to juniors: mentorship over blind AI trust; closing remarks on industry health, job losses, and interest ratesconclusion

Key terms

Propositions

Arguments

Software engineering disciplines built around assuming deterministic execution (testing, refactoring, code review) may not transfer cleanly to an AI-augmented world and may need new counterparts, without abandoning the underlying goal those disciplines serve. strength: medium
Explicit premises:
Implicit premises:
Inferences:
Teams, not just individuals, need a different (as yet unknown) operating model for working with AI. strength: high
Explicit premises:
Implicit premises:
Inferences:
Refactoring will become more economically valuable under AI, not obsolete, despite near-universal automated-refactoring tooling already existing in IDEs. strength: high
Explicit premises:
Implicit premises:
Inferences:

Narratives

Questions addressed

Gaps

Related documents