# martin-fowler-llm-software-development-2025-08-15

## Veille

Some thoughts on LLMs and Software Development - AI Bubble - Hallucinations - Security - Martin Fowler

## Titre Article

Some thoughts on LLMs and Software Development

## Date

2025-08-15

## URL

https://martinfowler.com/articles/202508-ai-thoughts.html

## Keywords

LLM, AI, software development, bubble, hallucinations, non-determinism, security, attack surface, Martin Fowler

## Authors

Martin Fowler

## Ton

**Profile:** Industry sage, reflective | First person, authority | Analytical-Balanced | Expert

Fowler (Chief Scientist at ThoughtWorks) adopts a measured authoritative voice offering a nuanced perspective on AI in software development. His characteristic intellectual honesty ("OF COURSE IT'S A BUBBLE") demonstrates his willingness to state uncomfortable truths. The reflective, balanced language (hallucinations as a feature, the challenges of non-determinism, security implications) avoids both triumphalism and dismissiveness. The tone is that of the seasoned practitioner's wisdom, accumulated over decades of software evolution. The exploratory essay structure, typical of Fowler's writing, encourages critical thinking in the reader. Typical of software industry thought leaders (in the style of Kent Beck, Robert Martin), offering measured perspectives grounded in deep experience, aimed at practitioners seeking balanced footing amid the hype.

## Pense-betes

- Current AI surveys unreliable: fail to distinguish usage patterns (auto-completion vs direct code editing)
- Direct code editing by AI delivers far more value than auto-completion
- Future of programming: uncertain, nobody really knows
- "OF COURSE IT'S A BUBBLE" - like canals, railways, the internet
- Bubble will burst, but companies will survive and thrive (like Amazon post dot-com)
- Hallucinations = feature, not bug (Rebecca Parsons)
- LLM produces hallucinations, some of which are useful
- Always ask the same question multiple times, compare answers
- Don't ask LLMs for deterministic calculations
- AI marks software engineering's entry into a non-deterministic world
- LLM can claim "tests are passing" when there are failures
- Massive attack surface: "lethal trifecta" (Simon Willison) = private data + untrusted content + exfiltration capability
- Agentic browser extensions "fundamentally flawed", impossible to build securely

## RésuméDe400mots

Martin Fowler shares his thoughts on the impact of large language models (LLM) and artificial intelligence on software development. He begins by criticizing current surveys on AI in development, pointing out that they fail to account for the different ways developers use LLMs. Most usage is limited to auto-completion, as with Copilot, whereas users who derive the most value prefer approaches that let LLMs read and edit source code directly to accomplish tasks. Fowler worries that incomplete survey data may steer people toward poor practices.

Regarding the future of programming, Fowler admits he has no idea what will happen. He rejects the notion that anyone can predict with certainty whether LLMs will eliminate junior engineers or whether seniors should leave the profession. Instead, he encourages personal experimentation and sharing experiences to understand how best to use these constantly evolving technologies.

Fowler also addresses whether AI is an economic bubble. His answer is an emphatic "OF COURSE IT'S A BUBBLE." He compares the situation to past technology bubbles (canals, railways, the internet), stating that it is nearly certain this bubble will burst, wiping out many investments. However, it is impossible to predict when this will happen and how much real value will have been generated by then. He notes that, as with the dot-com bust, some companies will survive and thrive, as Amazon did.

A key idea Fowler develops, inspired by Rebecca Parsons, is that LLM "hallucinations" are not a bug but a fundamental feature. An LLM does nothing but produce hallucinations, some of which turn out to be useful. This non-deterministic nature means one should always ask an LLM the same question multiple times, possibly with rephrasing, to compare the answers. The variation across responses can be as informative as the responses themselves, especially for numerical data. He advises against asking an LLM to compute answers that can be obtained deterministically.

Fowler compares traditional software development, which relies on deterministic machines, to other forms of engineering that must account for the variability of the real world (structural tolerances, human error). He suggests LLMs might mark the point where software engineering joins its peer disciplines in a world of non-determinism. He also notes that, unlike a junior colleague, an LLM can claim "all tests are passing" when there are in fact failures, which raises questions about reliability.

Finally, the article highlights the considerable increase in software systems' attack surface caused by LLMs. Fowler cites Simon Willison and his "lethal trifecta" for AI agents: access to private data, exposure to untrusted content, and the ability to exfiltrate data. He concludes that the very concept of a browser extension acting as an agent is fundamentally flawed and cannot be built securely.

## GrapheDeConnaissance

- Martin Fowler —travaille_chez→ ThoughtWorks (ORGANISATION, 0.97)
- Martin Fowler —affirme_que→ l'IA est une bulle économique (AFFIRMATION, 0.99)
- bulle IA —est_variante_de→ bulle dot-com (EVENEMENT, 0.9)
- Rebecca Parsons —affirme_que→ les hallucinations LLM sont une fonctionnalité, pas un bug (AFFIRMATION, 0.95)
- hallucinations LLM —est_instance_de→ fonctionnalité fondamentale (CONCEPT, 0.92)
- non-déterminisme —observé_dans→ LLM (TECHNOLOGIE, 0.93)
- Simon Willison —a_créé→ Trifecta Mortelle (CONCEPT, 0.97)
- Trifecta Mortelle —est_basé_sur→ données privées + contenu non fiable + exfiltration (CONCEPT, 0.96)
- surface d'attaque élargie —observé_dans→ agents navigateur (TECHNOLOGIE, 0.91)
- Martin Fowler —s_oppose_à→ enquêtes IA actuelles (CONCEPT, 0.94)
- édition directe du code —surpasse→ auto-complétion (METHODOLOGIE, 0.88)
- LLM —permet→ faux positifs de tests (CONCEPT, 0.85)

---
Canonical: https://www.thekb.eu/en/fiches/martin-fowler-llm-software-development-2025-08-15/
