Martin Fowler
Follow
Fragments: April 2
This text explores the concept of "Cognitive Debt" in software development, paralleling it with technical and intent debt. Cognitive debt arises from eroded shared understanding within a team, hindering their ability to reason about changes. The article references a paper proposing a "Tri-System theory of cognition," adding AI (System 3) to Kahneman's two-system model. This introduces "cognitive surrender," where reliance on AI reasoning bypasses critical thinking. The author then critiques the use of HTML tags as code icons, highlighting misconceptions about programming languages. Further, the text discusses the shift toward verification as a crucial skill, as coding agents become more prevalent. The author agrees with the emphasis on verification but sees LLMs aiding in the understanding of legacy code. The shift necessitates reorganizing teams around validation rather than solely code creation, promoting an emphasis on defining quality and monitoring outcomes. Finally, the text touches on the future of source code in the context of LLMs, summarizing diverse viewpoints and underscoring the importance of human-led abstraction and domain-driven design. The author highlights the value of naming conventions in code, emphasizing how good names expose the intent of solving problems.