Detailed Notes||5m 48s
The Status Quo of Overly Complex Systems - Jonathan Blow
https://www.youtube.com/watch?v=KUhN_c0MmQ0Here are detailed notes from the transcript:
Detailed Notes: The State of Modern Computing
Main Topics Discussed:
- The Inefficiency and Complexity of Modern Computing: The core argument that current programming efforts are largely "waste" due to unnecessary complexity.
- The Psychological Impact on Programmers: How this inefficiency leads to depression, guilt, and frustration among software engineers.
- A Vision for a Simpler, More Capable Computing Future: The speaker's ideal solution to the current problems.
- Resistance to Change and the "Pyramids of Egypt" Mentality: The societal and professional attitudes preventing fundamental improvements.
- Warning of Civilizational Decline: The speaker's strong conviction that current trends are dangerous and could lead to a societal collapse if not addressed.
Key Points and Arguments:
- Computing is a "Mess": The speaker's interest has shifted from game design to addressing the broad "mess" that computing has become.
- Most Programming is "Waste":
- An estimated "most of what programmers do most of the time is waste."
- This waste is largely "dealing with complexity that doesn't need to be there."
- Sources of complexity:
- Internal company issues: Poor coordination within teams creating product complexity.
- Underlying computing structure: The fundamental operating systems, web browsers, and invisible network infrastructure (like routers) are inherently messy and make simple tasks difficult, even tasks that used to be taken for granted.
- Declining Efficiency: Programmers are becoming "increasingly inefficient on average," except for "small pockets" working in isolated environments. Large teams dealing with complex, interdependent systems (OS, browsers, internet infrastructure) are particularly inefficient.
- Programmer Depression and Guilt:
- The speaker observes and relates to the high rates of depression among younger programmers.
- This stems from feeling that "most of what you're doing all day is just garbage," constantly "banging your head against a brick wall," and seeing solutions fall apart quickly.
- A co-speaker/listener corroborates this, sharing personal experience of guilt as a junior engineer, spending time fixing configuration issues (e.g., webpack) rather than building new features, realizing later this was a systemic issue.
- The Vision for Better Computing:
- If given "infinite work bandwidth," the speaker would create a "simpler version of all of computing."
- This new system would be:
- As capable as current systems.
- More capable (specifically faster).
- Have "an order of magnitude fewer bugs at least."
- Easier for people to understand and work with.
- Why Change is Possible (and Necessary):
- Unlike complex systems like economics (which involve unpredictable human decisions), computers "were designed by people."
- Therefore, "we actually designed all these things" and "we can make it better."
- A dangerous trend is that "the proportion of people who understand any given piece [of computing] is declining over time."
- The "Pyramids of Egypt" Mentality:
- People justify the status quo and resist change.
- There's a growing attitude that existing computing structures (like web browsers) are "made by the forefathers" who were "smarter than you," and therefore should not be questioned or changed.
- The speaker finds this mentality "scary" and indicative of a civilization in decline.
- Warning of Societal Decline:
- If humanity reaches a point where it lives in technological structures it can no longer build or improve, it signifies "a civilization in decline," or at least past its glory days.
- Historically, societies in such states do not remain stable but "just decline eventually."
- A "highly technological society breaks if it's not maintained."
- Analogy to Bronze Age Collapse: Societies past their glory days, thinking they are fine, become vulnerable. An "environmental shock" or external attack can then expose their inability to respond effectively, leading to collapse.
- High Stakes and Anger:
- The speaker feels "very few things really make me angry, but that kind of a thing does."
- He is angered by "excuses for mediocrity that looks to me like it will lead to decline."
- He believes the "stakes are so high," but observes that "most people don't seem to agree with me that the stakes are that high."
Important Facts or Data Mentioned:
- Aspirational Goal: Achieve "an order of magnitude fewer bugs."
- Observed Trend: "The proportion of people who understand any given piece [of computing] is declining over time."
- Historical Reference: "Bronze Age collapse" and other "famous historical societal collapses" are used as analogies for potential technological societal decline.
- Cultural Reference: "Pyramids of Egypt" as a metaphor for revered, unchangeable structures from the past.
Conclusions or Recommendations:
- Problem: Modern computing is characterized by excessive complexity, leading to widespread inefficiency, programmer burnout/depression, and a dangerous erosion of fundamental understanding.
- Implicit Call to Action: A fundamental shift is required to simplify computing, eliminate unnecessary complexity, and make systems more reliable and understandable.
- Vision/Solution: Develop a simpler, faster, more capable, less buggy, and more comprehensible computing foundation that surpasses current capabilities.
- Warning: Failure to address this inherent complexity and the cultural resistance to change risks societal decline, as technological infrastructure becomes unmaintainable and vulnerable to unforeseen shocks.
- Personal Stance: The speaker views these issues with a sense of urgency and concern, believing the stakes are extremely high, even if this view is not widely shared.
Generated with Tapescript