# Systems that defy detailed understanding

DevFeed: [Systems that defy detailed understanding](<https://devfeed.tech/articles/systems-that-defy-detailed-understanding-21968.md>)

Original publisher: [Read original article](<https://blog.nelhage.com/post/systems-that-defy-understanding/>)

Author: Nelson Elhage

Published: 2020-02-22T20:00:00Z

Content type: opinion

Language: en

Sources: [Nelson Elhage](<https://devfeed.tech/sources/nelson-elhage.md>)

Topics: [systems](<https://devfeed.tech/topics/systems.md>), [distributed-systems](<https://devfeed.tech/topics/distributed-systems.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [incident](<https://devfeed.tech/topics/incident.md>)

Tags: [debugging](<https://devfeed.tech/tags/debugging.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [incident](<https://devfeed.tech/tags/incident.md>), [software](<https://devfeed.tech/tags/software.md>), [stripe](<https://devfeed.tech/tags/stripe.md>), [systems](<https://devfeed.tech/tags/systems.md>)

## AI overview

The article argues that pursuing detailed explanations is not always the best strategy for dealing with complex systems. It focuses on distributed systems, where component and network failures make complete understanding difficult or impractical, and contrasts investigating root causes with improving fault-tolerance mechanisms such as retries and timeouts.

## Source excerpt

Last week, I wrote about the mindset that computer systems can be understood, and behaviors can be explained, if we're willing to dig deep enough into the stack of abstractions our software is built atop. Some of the ensuing discussion on Twitter and elsewhere lead me to write this followup, in which I want to run through a few classes of systems where I've found pursuing in-detail understanding of the system wasn't the right answer.