Martin Fowler: Technical, Cognitive, and Intent Debt
6 hours ago
- #AI and Programming
- #Abstraction and Simplicity
- #Human Factors in Tech
- Kent Beck and Martin Fowler discussed AI at the Pragmatic Summit, covering comparisons to past tech shifts, agile methods, TDD, performance metrics, and thriving in an AI-native industry.
- Larry Wall's "three virtues of a programmer"—hubris, impatience, and especially laziness—highlight the importance of abstraction and simplicity, driven by human constraints like finite time.
- Bryan Cantrill warns that LLMs lack the virtue of laziness, as they don't optimize for future time and risk creating bloated, complex systems without human-driven abstraction.
- A personal example involved simplifying a music playlist generator by applying YAGNI (You Aren't Gonna Need It), reducing it to a few dozen lines of code, illustrating how human laziness fosters better design.
- Jessica Kerr suggests applying TDD principles to AI agents by first updating instructions and then adding verification, ensuring documentation updates are included in the development process.
- Mark Little draws from the movie "Dark Star" to discuss AI overconfidence, emphasizing the need for AI to learn doubt and restraint to avoid errors in high-stakes situations.
- The importance of designing AI systems capable of deferral or inaction in uncertain scenarios is highlighted, as restraint is crucial for safe autonomy without constant human oversight.