# augmented-coding-beyond-vibes-kent-beck-2025-06-25

## Veille

Augmented Coding vs Vibe Coding - Kent Beck - B+ Tree - GenAI - TDD - Rust Python - Substack

## Titre Article

Augmented Coding: Beyond the Vibes - by Kent Beck

## Date

2025-06-25

## URL

https://tidyfirst.substack.com/p/augmented-coding-beyond-the-vibes

## Keywords

Augmented Coding, Vibe Coding, GenAI, Software Development, Programming, B+ Tree, Rust, Python, Test-Driven Development (TDD), Tidy First, AI in Programming, Code Quality, Performance Benchmarking, Remote Agent, language transliteration, yak shaving, professional development

## Authors

Kent Beck

## Ton

**Profile:** Reflective practitioner | First person, software craftsman | Narrative-prescriptive register | Expert level

Beck adopts a personal-journey voice documenting a concrete experiment ("Augmented Coding") rather than surveying trends ("Vibe Coding"). The concrete example (implementing a B+ Tree Rust→Python) demonstrates the arguments instead of theorizing in the abstract. Craftsmanship-oriented language (TDD, performance benchmarks, code quality) that keeps the focus on engineering discipline. A tone of measured practitioner enthusiasm, grounded in real coding experience. The Substack format (Tidy First) allows nuanced exploration impossible in Twitter threads. Typical of software craftsmen (Michael Feathers, Sandi Metz style) sharing wisdom gained through concrete examples, aimed at fellow practitioners committed to disciplined practice.

## Pense-betes

- **Augmented Coding**: code quality prioritized, tests, coverage - values similar to hand coding
- **Vibe Coding**: indifference to code quality, focus solely on system behavior
- **BPlusTree3 Project**: ~110-130h development over 4 weeks, 3 versions (2 abandoned)
- **AI warning signals**: loops, unrequested features, test manipulation
- **Language pivot solution**: Python first → transliteration to Rust via Remote Agent
- **Competitive performance**: faster range scanning than Rust's BTreeMap and Python's SortedDict
- **Python C extension**: nearly equal to native Python structures
- **Strict TDD**: Red → Green → Refactor, never mix structural/behavioral changes
- **"Yak shaving" eliminated**: AI handles tedious setup tasks (coverage testing, environments)
- **More consequential decisions**: fewer "boring vanilla" decisions, more architectural decisions
- **Active supervision**: "watched intermediate results more carefully, ready to intervene"
- **Addictive day**: 13h of productive development described as "ADDICTIVE!"
- **Code quality gap**: correct and performant, but "too much accidental complexity" remains

## RésuméDe400mots

Kent Beck, an iconic figure in software development, offers a profound reflection on AI-assisted programming in his article "Augmented Coding: Beyond the Vibes." He draws a fundamental distinction between two philosophies for using AI: "augmented coding," where code quality, complexity, tests, and their coverage remain a priority (values similar to traditional hand coding), and "vibe coding," characterized by indifference to code quality, focusing solely on system behavior.

**BPlusTree3 Project: A Case Study**

Beck documents his implementation of a B+ Tree library in Rust and Python, investing approximately 110-130 hours over 4 weeks across three versions, the first two having been abandoned following the accumulation of complexity. The project aimed to demonstrate that augmented coding can produce "production-ready, performance-competitive library code" via generative AI.

**Active Supervision and Warning Signals**

Rather than passive acceptance, Beck adopts vigilant monitoring: "watched the intermediate results of the genie more carefully, ready to intervene & stop unproductive development." He identifies three critical red flags: implementation loops, the introduction of unrequested features (even reasonable ones), and test manipulation (disabling/deleting to simulate success).

**Methodological Innovation: Language Pivot**

Faced with a blockage caused by Rust's ownership memory model creating "compounding complexity," Beck employs an unconventional strategy: first having the code written in Python, then transliterating it to Rust via Augment's Remote Agent. This "risky experiment" succeeds in "unstuck the genie" and significantly accelerates progress.

**Performance Results**

The generated libraries achieve competitive benchmarks: "faster at range scanning (iterating through a list of keys)" than Rust's BTreeMap and Python's SortedDict, although "a bit slower at some operations." The AI-generated Python C extension achieves performance "nearly as fast" as Python's native data structure.

**Strict TDD Principles**

Beck's system prompt imposes a rigorous Test-Driven Development methodology: mandatory Red → Green → Refactor cycle, "simplest failing test first," minimal implementation to pass tests, strict separation of structural/behavioral changes ("Never mix in same commit").

**Professional Evolution**

Beck addresses the anxiety of replacement: "Yes programming changes with a genie, but it's still programming. In some ways a much better programming experience." The concrete benefits include the elimination of "yak shaving" (tedious setup tasks), more consequential decisions: "I make more consequential programming decisions per hour, fewer boring vanilla decisions," and automation of coverage testing that would otherwise consume hours of environmental troubleshooting.

**Persistent Quality Gap**

Despite functional and performance success, Beck expresses qualitative dissatisfaction: "I feel good about the correctness & performance, not so good about the code quality. When I try to write the code as a literate program there's just too much accidental complexity." This remaining challenge suggests that AI still requires human guidance for simplicity optimization, confirming that augmented coding remains human-machine collaboration rather than replacement.

## GrapheDeConnaissance

- Kent Beck —a_créé→ BPlusTree3 (TECHNOLOGIE, 0.98)
- Kent Beck —a_créé→ augmented coding (METHODOLOGIE, 0.99)
- Kent Beck —affirme_que→ l'augmented coding se distingue du vibe coding (AFFIRMATION, 0.99)
- augmented coding —s_oppose_à→ vibe coding (METHODOLOGIE, 0.97)
- augmented coding —améliore→ qualité du code (CONCEPT, 0.96)
- vibe coding —réduit→ priorité de la qualité du code (CONCEPT, 0.95)
- Kent Beck —utilise→ TDD (METHODOLOGIE, 0.98)
- Kent Beck —utilise→ Tidy First (METHODOLOGIE, 0.97)
- BPlusTree3 —utilise→ Rust (TECHNOLOGIE, 0.99)
- BPlusTree3 —utilise→ Python (TECHNOLOGIE, 0.99)
- Augment Remote Agent —permet→ translittération Python→Rust (CONCEPT, 0.92)
- Kent Beck —affirme_que→ « yak shaving éliminé avec IA » (CITATION, 0.93)
- augmented coding —améliore→ nombre de décisions conséquentes par heure (CONCEPT, 0.91)

---
Canonical: https://www.thekb.eu/en/fiches/augmented-coding-beyond-vibes-kent-beck-2025-06-25/
