Member-only story

What every developer should know about fault scenarios

Lucas Silveira
Level Up Coding
Published in
13 min readJul 28, 2023
Painting by Ivan Konstantinovich Aivazovsky

Dealing with application failures is something common in the life of a software developer, and although expected, nobody likes to go through these situations. More often than not, failures are accompanied by frustrated or even angry customers, support team burnout, and pressure on on-call developers.

These circumstances usually occur due to failure scenarios not mapped by the technical team. And I advance, it is impossible to map all the situations in which an application can fail.

How then can we mitigate the damage caused by defects in production?

To answer this question, we must understand some important principles of software development and how they help us to avoid a catastrophic escalation of an application failure.

First of all, it is important to highlight that the ideas discussed here belong to the context of development. Therefore, solutions and practices more related to Ops, QA and Infosec are outside the scope of this article — although we can make some references throughout the text.

In this article you will understand more about:

  • Errors, defects and failures
  • Murphy’s Law and computer networks
  • What is and how to deal with temporal coupling

--

--

Written by Lucas Silveira

Software Engineer passionate about technology, philosophy and lifestyle

No responses yet