We redesigned our rotation after two senior engineers asked to be taken off it permanently. The fix wasn't more people, it was a different shape.
Two of our best engineers quietly asked to be removed from the on-call rotation within the same month. That's not a staffing problem, it's a design problem.
Measure the shift, not just the headcount
We had eight people on a rotation and assumed that was healthy. What we hadn't measured was that three of them absorbed 70% of the actual pages, because they were fastest to acknowledge and got routed to disproportionately. We rebalanced routing to be strictly round-robin and the imbalance disappeared within two cycles.
from pages
| where _time > ago(90d)
| summarize page_count = count() by responder
| order by page_count desc
Shorten the shift before you add people
Our instinct was to recruit more engineers into the rotation. Instead we cut the primary shift from seven days to three and added a secondary shift that only escalates, never gets paged directly unless primary misses. Shorter shifts meant a bad week ended faster, which mattered more to morale than the total number of pages received.
Protect the handoff, not just the shift
The worst pages weren't during a shift, they were in the first two hours after a handoff, when the new primary had no context. We now require a five-minute synchronous handoff with a written summary of anything still smoldering, and we track handoff quality as its own metric, separate from page volume.
Ask people, not just the data
The page-distribution query told us what was happening, but not why three engineers kept absorbing the load — it turned out two of them didn't trust the others to handle certain services and were quietly self-selecting into extra shifts to compensate. We only found that in a direct, anonymous survey after the rotation was rebalanced technically, and it pointed us toward a cross-training gap the metrics alone would never have surfaced.
- Measure page distribution per responder, not just rotation headcount.
- Shorten shifts before adding people — recovery time matters more than total load.
- Add a secondary escalation shift instead of over-paging primary.
- Require a written, synchronous handoff and track its quality.
- Survey the rotation directly — some imbalances are trust gaps, not routing bugs.