Engineering the Future of Software
Feb 3–4, 2019: Training
Feb 4–6, 2019: Tutorials & Conference
New York, NY
Please log in

Building for gracious failure

James Thompson (Mavenlink)
2:15pm–3:05pm Tuesday, February 5, 2019
Location: Sutton Center/Sutton South
Secondary topics:  Best Practice
Average rating: ***..
(3.29, 7 ratings)

Who is this presentation for?

  • Software engineers and architects



Prerequisite knowledge

  • Experience integrating with other services, whether within your own organizations or externally

What you'll learn

  • Explore different kinds of failures and how they can impact service-based systems
  • Learn patterns to help mitigate the impacts of such failures in your software systems


Failures come in a lot of forms. Sometimes we are able to predict them and plan for them. But sometimes they catch us by surprise.

James Thompson explores common and some uncommon failure scenarios, focusing on how to handle failures gracefully. Scenarios include network partitions (a service cannot be reached), service errors (a service returns that it is having an internal error), malformed data (a service returns data in an unexpected form), and corrupted data (your service has internal data corruption). You’ll examine each of these scenarios and others from the standpoint of their impact on a singular service as well as how such failures could cascade through a system as a result of them. You’ll leave with a better appreciation for the various ways failure can impact the systems you build and a good foundation for thinking about how to deal with failure gracefully.

Photo of James Thompson

James Thompson


James Thompson is a principal software engineer at Mavenlink, where he is committed to helping engineering teams become more deliberate in how they build software through developing strong learning cultures, principled engineering practices, and holistic architectural thinking. He has worked with web technologies since 2003.