Seven Categories of Software Failure Every Developer Should Know
A DEV Community article uses a conversational uncle-nephew format to break down the seven core categories of system failure: hardware, software, network, database, third-party, human error, and resource exhaustion. The piece argues that naming failure types precisely is essential because intuitive knowledge alone is too slow during an incident at 2 AM. It illustrates hardware failure by tracing how cloud-hosted apps on AWS still depend on physical machines that can fail, despite the abstraction. Software failures are demonstrated through a simple null-reference bug in Node.js, contrasted with a slow memory leak — both share the same label but differ vastly in severity and impact. The article is the second episode in an ongoing series aimed at building a structured, practical mindset around failure engineering.
This is an AI-generated summary. ShortSingh links to the original source for the complete article.
Discussion (0)
Log in to join the discussion and vote.
Log in