Grasping Complexity with Both Hands
summary
Programmers tend to oversimplify and miss second‑order effects: a proposed product to automate patent filings is predicted to fail because overloaded patent examiners will change the process, not be gamed; an internally proud yaml obfuscation parser wins admiration but loses the contest; real systems exploit probabilistic trust in SHA‑1 as in Venti dedup and rely on power laws like the 80/20 rule. Practical tactics recommended are heuristic, incomplete solutions, cost‑benefit risk thinking, emergent defenses and studying “wicked problems.”
AI-written summary · about
chapters (15)
- 0:00Start
- 10:20Ignoring second-order effects
- 13:51Forgetting secondary benefits
- 15:21Asking the wrong question
- 21:12Binary thinking
- 23:37Taking rhetoric at face value
- 26:00Ignoring context
- 30:18Incomplete solutions
- 32:45Exploit power law distributions
- 34:01Think in terms of costs and benefits
- 35:56Exploit emergence
- 38:12Deeper analysis
- 40:14Seek the root of intuition
- 41:32Study "wicked probems"
- 44:09Be prepared with techniques for making smart decisions in the face of complexity.
related talks
50mRiding the wave of complexity
40mOptimistic Security
50mFallacies of Software Development
54mSeeing Like a Programmer - Resiliency, Limits, And Moral Hazards In SE
56mThings you thought you didn’t need to care about that have a big impact on your job
38mFallacies of Software Development
45mClosing Keynote
34mProgramming with that Disreputable Part of your Brain
