How expert programmers think about errors
summary
Experts treat errors as information: they wait instead of immediately swatting a bug, build errors into code to test the test harness, and use unexpected failures as lenses into assumptions. Teams practice pair debugging, combine multiple tools, and deliberately seek falsification rather than confirmation. Triage tolerates low‑impact defects while documenting rationale, and deliberate compromises create space for progressive improvement. Decades of observation show these concrete practices — the methods, tool mixes, and social routines — lead to earlier detection, richer diagnoses, and fewer hidden design flaws.
AI-written summary · about
chapters (9)
- 0:00Intro
- 0:18experts see error as opportunity
- 1:50active error
- 2:46minding the gaps
- 3:21attending to contrary evidence
- 4:11understanding by breaking
- 6:06tolerating
- 8:50experts use disciplined practices that are socially embedded and reinforced
- 9:31contrasting multiple perspectives
related talks
06mHow Automated Tools Can Communicate Effective Strategies for Fixing Bugs
20mDebugging: Techniques for Uncertain Times
45mThe design of error
35mDebugging the Mind: A Programmer's Guide to Critical Thinking
31mThe Science and Magic of Debugging
54mDebugging Effectively
23mSkills for debugging complex problems
38mFrom the Exorcist to Hercule Poirot
