scripod.com

How AI will change software engineering – with Martin Fowler

Martin Fowler, a seminal figure in software engineering, reflects on how the industry is navigating the transformative impact of AI. From foundational practices like refactoring to modern workflows such as vibe coding, he offers a seasoned perspective on what’s changing—and what remains constant—in the craft of building software.
AI is reshaping software development by introducing non-deterministic processes, shifting focus from manual coding to design and oversight. While LLMs aid in prototyping, legacy code understanding, and exploration, they require rigorous testing and human review to avoid technical debt. Practices like 'vibe coding'—generating code without deep understanding—mirror past pitfalls of copying StackOverflow snippets and risk undermining long-term maintainability. Refactoring remains essential, especially as AI-generated code proliferates, with tools needing to evolve to support seamless integration. The Thoughtworks Technology Radar exemplifies how organizations can transparently track emerging trends, while domain-specific languages may help bridge communication gaps between developers and AI. Though enterprise adoption of LLMs is cautious due to regulatory and cultural constraints, opportunities exist in aligning code with business logic. Despite technological shifts, core engineering skills—curiosity, clear communication, and iterative problem-solving—endure. Agile principles still hold value, particularly in fostering fast feedback loops, and mentorship remains vital for junior engineers navigating AI-generated advice. Ultimately, AI augments rather than replaces developers, emphasizing the need for judgment, context-awareness, and craftsmanship.
04:45
04:45
Object-oriented thinking was a radical concept in the mid-1980s.
12:46
12:46
The radar’s public release stems from ThoughtWorks’ ethos of sharing all internal work openly.
22:21
22:21
Describing tasks in structured notation improves LLM understanding over plain English.
30:38
30:38
LLMs are inefficient at simple refactoring tasks compared to tools like Resharper
33:38
33:38
Vibe Coding removes the learning loop crucial for evolving code.
39:22
39:22
Developers should never blindly trust code from LLMs—they must understand, test, and refactor it.
49:00
49:00
LLMs blur the line between thinking and coding by turning natural language into executable logic
53:37
53:37
LLMs are good at refactoring code
56:40
56:40
Fowler decided to write 'Refactoring' because Kent Beck was focused on Extreme Programming
1:02:15
1:02:15
With AI generating more code, refactoring will become increasingly important.
1:27:07
1:27:07
Boris built 20 interactive prototypes in two days using AI-assisted prompts.
1:35:01
1:35:01
Probe AI's advice to understand its sources and limitations
1:40:22
1:40:22
AI won't wipe out software development but will change it