HN
Today

Synthesis is harder than analysis

This article cleverly uses the familiar asymmetry between differential and integral calculus to illustrate a profound concept: synthesis is inherently harder than analysis. It argues that local operations are simpler than global ones, extending this insight to software engineering challenges like incident response and the critical but undervalued need for synthesis expertise among SREs.

3
Score
0
Comments
#4
Highest Rank
15h
on Front Page
First Seen
Jul 4, 3:00 AM
Last Seen
Jul 4, 5:00 PM
Rank Over Time
144578771016181618222629

The Lowdown

The author, Lorin Hochstein, argues that synthesis is fundamentally harder than analysis, drawing a compelling analogy from the realm of calculus. He posits that while analysis involves breaking down problems into easier, local components, synthesis requires integrating multiple elements, which is inherently more complex due to its global nature.

  • The article opens by contrasting various "calculi" known in computer science (lambda calculus, relational calculus, predicate calculus, sequent calculus) with the common understanding of "calculus" as differential and integral calculus.
  • Differential calculus, which computes the slope of a function at a point, is presented as a "local" operation, often algorithmic and straightforward to automate.
  • Integral calculus, calculating the area under a curve, is highlighted as a "global" operation, often requiring a "bag of tricks" rather than a universal algorithm, with many functions lacking closed-form solutions (e.g., the Gaussian function's integral).
  • Despite their differing difficulty, the Fundamental Theorem of Calculus reveals their deep relationship: integrals are anti-derivatives.
  • This disparity in difficulty leads to the central question: why is integration harder than differentiation? The answer, attributed to Qiaochu Yuan, is that "local things are much easier than global things."
  • This principle is then extended to general problem-solving: analysis (breaking down, local, easier) is contrasted with synthesis (integrating, global, harder).
  • The author applies this to software engineering, particularly in Site Reliability Engineering (SRE) and incident response, where understanding system interactions (synthesis) is crucial for resolving complex issues.
  • The article concludes by lamenting the industry's lack of recognition for building synthesis expertise as a first-class skill, advocating for a focus on "learning how to learn" about system operational details.

Ultimately, the piece underscores that while analytical skills are vital, the ability to synthesize disparate information into a coherent understanding of a complex, interconnected system is a higher-order, more challenging, yet essential skill, particularly in fields like SRE.