Skip to Content
97 Things Every SRE Should Know
book

97 Things Every SRE Should Know

by Emil Stolarsky, Jaime Woo
November 2020
Beginner to intermediate
250 pages
7h 41m
English
O'Reilly Media, Inc.
Content preview from 97 Things Every SRE Should Know

Chapter 65. Complex: The Most Overloaded Word in Technology

Laura Nolan

Both software engineers and systems engineers use the word “complex” as a specific term of art. Software engineers use it in several ways, distinct from the systems meaning. Software engineers and systems engineers (SREs, production engineers, systems administrators, DevOps practitioners, etc.) are overlapping groups of people who work together. We all need to understand which meaning is in use at any given time so we can communicate clearly.

Complexity has been the enemy of the software engineer for decades now. Fred Brooks’ classic essay, “No Silver Bullet,”1 divided software’s complexity into two parts: essential complexity and accidental complexity. Essential complexity is related solely to specifying the problem and how it should be solved. Accidental complexity is related to the details of implementation. The overwhelming majority of the work of technology operation is about accidental complexity.

However, this doesn’t tell us what software engineers mean by complexity. Fundamentally, complexity is that which makes software difficult to understand fully and to reason about correctly. Moseley and Marks’ paper, “Out of the Tar Pit”, discusses several sources of complexity. The biggest, and hardest to deal with, is state. State influences the flow of control of a program, but the number of potential states ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

97 Things Every Engineering Manager Should Know

97 Things Every Engineering Manager Should Know

Camille Fournier
97 Things Every Cloud Engineer Should Know

97 Things Every Cloud Engineer Should Know

Emily Freeman, Nathen Harvey

Publisher Resources

ISBN: 9781492081487Errata Page