On-Call Culture That Doesn't Burn People Out
Nobody becomes a software engineer because they dream of being woken up at 3 AM by a pager. Yet on-call rotations remain one of the most critical functions in any engineering organization that operates production systems. The question isn't whether you need on-call — it's whether you can build an on-call culture that doesn't systematically destroy your team's morale, health, and eventually their willingness to stay at your company.
I've seen both extremes. Early in my career, I worked at a company where on-call was a dreaded punishment. Engineers would dread their rotation weeks, lose sleep even on quiet nights from the anxiety alone, and quietly start interviewing the moment their rotation frequency increased. At another company, I watched a well-designed on-call system become a point of pride — engineers volunteered for rotations because the tooling was excellent, the alerts were meaningful, and the culture genuinely supported them.
The difference wasn't the complexity of the systems. It was the intentionality of the leadership.
The Root Cause of On-Call Burnout
Most on-call burnout isn't caused by genuine production emergencies. It's caused by noise. When I audited the on-call experience at one organization I joined, I found that engineers were receiving an average of 47 alerts per on-call shift. Of those, only three required any human intervention. The other 44 were either informational, self-resolving, or duplicates of the same underlying issue.
That means engineers were being interrupted — during dinner, during sleep, during their children's school events — for alerts that didn't need them. Every false alarm erodes trust in the system. After enough of them, engineers either start ignoring alerts entirely (dangerous) or develop a low-grade chronic stress response that follows them everywhere (also dangerous, just slower).
The first step to fixing on-call culture is admitting that most of your alerts are waste.
Automation as a Respect Mechanism
I frame automation investments to my teams not as cost optimization or efficiency gains, but as a respect mechanism. Every alert that wakes someone up at 2 AM should represent a problem that genuinely requires human judgment. If a runbook for an alert is a deterministic set of steps — "SSH into server X, restart service Y, verify metric Z" — then that alert shouldn't page a human. It should page a script.
At a previous company, we implemented what we called the "automation-first" policy. Before any new alert could be added to the on-call rotation, the team had to demonstrate that the response required genuine human decision-making. If it didn't, the work item became an automation ticket, not an alert configuration.
Within six months, we reduced on-call pages by 73%. The alerts that remained were genuinely interesting problems that required engineering judgment. Engineers started reporting that on-call shifts felt less like a burden and more like a challenging puzzle — they were finally doing engineering during on-call, not button-pushing.
Runbooks That Actually Help
Every on-call system I've inherited has had runbooks. Almost none of them were useful. The typical runbook is a document written once, never updated, containing steps that reference infrastructure that no longer exists and dashboards that have been reorganized three times since the document was created.
Good runbooks share several characteristics. They are co-located with the alert definition, so when an alert fires, the runbook link is embedded in the notification. They are versioned alongside the code they reference. They include not just "what to do" but "how to verify it worked" and "when to escalate." And critically, they have an owner — someone responsible for keeping them current.
We implemented a practice where every postmortem that involved a runbook included a mandatory runbook review step. If the runbook was wrong, outdated, or missing, updating it was a required action item with a deadline. If an engineer followed a runbook during an incident and it led them astray, that was treated as a system failure, not an engineer failure.
The best runbooks I've seen also include a "context" section — not just the mechanical steps, but the reasoning behind them. When an engineer is bleary-eyed at 3 AM, understanding why they're doing something helps them recognize when the standard playbook doesn't apply and escalation is the right call.
Escalation Policies That Remove Guilt
One of the most toxic patterns in on-call culture is the implicit expectation that escalating means you've failed. I've watched junior engineers struggle with a production issue for two hours at midnight rather than wake up a senior engineer, because they were afraid of being perceived as incompetent.
This is a leadership failure, full stop.
Our escalation policy is explicit and time-boxed. If you're the primary on-call and you haven't identified the root cause within 30 minutes, you escalate. This isn't optional. It's not a sign of weakness. It's the process working as designed. We chose 30 minutes because our data showed that incidents not resolved within that window typically required cross-system knowledge that a single engineer rarely possesses.
We also implemented "escalation without guilt" as a literal cultural value. During onboarding, every new engineer hears directly from me that escalating early is a sign of good judgment, not inadequacy. The most experienced engineers on the team escalate freely and visibly, modeling the behavior we want to see.
The secondary on-call role is equally important. When you're secondary, your job is to be available and supportive when paged — not annoyed. We track sentiment around escalation experiences and address any pattern where engineers report feeling judged for escalating.
Blameless Postmortems — Actually Blameless
The term "blameless postmortem" has become so common that it's lost its meaning in many organizations. Teams go through the motions — they write the document, they avoid naming individuals — but the room still carries an undercurrent of blame. Everyone knows who made the deployment that caused the outage. The document may be blameless, but the memory isn't.
True blamelessness requires structural support. In our postmortem process, we focus on four questions: What happened? What did we learn? What will we change? And the one most organizations skip — what did our systems make easy to get wrong?
That last question is transformative. When a deploy causes an outage, the traditional instinct is to ask why someone deployed that code. The blameless instinct is to ask why our deployment pipeline allowed that code to reach production without catching the issue. The answer is almost always a system improvement — better tests, better canary analysis, better rollback automation.
We also separate the postmortem meeting from any performance-related conversations. The postmortem is a learning exercise, period. If there are performance concerns about an individual, those happen in private, through normal management channels, completely disconnected from the incident timeline.
Compensating for the Real Cost
On-call carries a real cost to engineers' quality of life. Acknowledging this cost tangibly — not just with words, but with compensation and time — sends a message that leadership actually understands what they're asking.
Our on-call engineers receive additional compensation for their rotation weeks. They also get a guaranteed "recovery day" after a rotation that involved any middle-of-the-night pages. This isn't vacation time — it's operational recovery built into the system. Just as we wouldn't expect a server to run at peak performance without maintenance windows, we shouldn't expect the same of people.
We also monitor on-call load distribution carefully. If one team is consistently paged more than others, that's a signal to invest in that team's reliability, not to normalize the burden.
The Metrics That Matter
We track four key metrics for on-call health: pages per shift (targeting fewer than five meaningful alerts per week), time-to-acknowledge, escalation rate (we want this to be healthy, not zero), and an on-call satisfaction score collected via anonymous survey after each rotation.
The satisfaction score is the most important. It captures what the other metrics miss — the subjective experience of being on-call at your organization. If the number trends downward, something is broken, even if the other metrics look clean.
Building Trust Over Time
Sustainable on-call culture isn't built in a quarter. It's built through consistent investment over years, through leadership that genuinely prioritizes engineer well-being alongside system reliability. Every automation investment, every runbook update, every blameless postmortem, every escalation handled without judgment — these compound into a culture where on-call is a responsibility engineers accept willingly, not a sentence they endure.
The return on this investment is enormous. Teams with healthy on-call cultures have lower attrition, faster incident resolution, and — perhaps counterintuitively — better system reliability. When engineers trust their on-call systems and feel supported by their organization, they build more resilient software. They instrument more thoroughly. They write better tests. They care more, because they know they'll be the ones carrying the pager.
That's the ultimate goal: an on-call culture where the people building the systems and the people operating them are the same people, and they're empowered to make both better.