Choosing to Fail
Engineers need to establish a Service Level Objective for our own operating capacity, and unfortunately, we can’t be as ambitious as machines: 99.99% is far beyond what a human can deliver day after day. We have to acknowledge that at some point, we will miss a deadline, misdiagnose an issue, break something in the code, or disappoint someone because we simply can’t help everyone.
We can’t avoid this reality, but we can choose where to fail.
A smart way to manage our capacity is to actively filter by choosing who to ignore. The criteria could be based on the importance of the request, the relevance of the person, their connection to the project we’re currently working on, their role in the company, or the likelihood that we’ll be able to help. Ignoring doesn’t necessarily mean not replying — ideally, we want to avoid reaching that point with a proactive, defensive response: either by redirecting the request to someone else who can help, or simply by saying, “Sorry, I can’t right now.”
It may be harder to choose which part of the code we’ll mess up, but we can still decide how much attention we give depending on the criticality of the system we’re working on. If we’re preparing a courtesy notice for users who get lost — one that will only be seen by 1% of the app’s daily users — we can afford to take it easy and preserve energy for more critical business logic.
When it comes to diagnoses or estimates, we often don’t need pinpoint accuracy. Depending on the priority and how much time we’ll have later to revisit a bug or refine a roadmap, we can work with broad error margins. This way, we won’t have burned out our capacity when the time comes to handle an outage that’s costing thousands per minute.
As for deadlines, some are hard and some are flexible. Knowing which kind we’re dealing with is essential to prioritize properly — and to determine whether we can safely say we’ll be late, so we can focus our full attention on the ones where we absolutely have to run for it.
Being aware of our limits allows us to make intentional decisions about how to manage them.
exit(0);