Est.

On-Call Compensation and Incentive Structures That Retain Engineers

Retention requires fair pay, sensible rotations, and tools that don't trigger constant false alarms.

· 10 min read · Updated
Cover illustration for “On-Call Compensation and Incentive Structures That Retain Engineers”
On-Call Team Health · October 10, 2026 · 10 min read · 2,314 words

Engineers keep leaving on-call rotations even after their employers raise the pay attached to them. That pattern is not a paradox: it is evidence that compensation is one layer of a problem that has at least three, and fixing the outermost layer while leaving the others untouched produces relief that fades within a quarter or two.

Why on-call attrition keeps happening even after pay bumps

The standard list of reasons engineers quit, blocked growth, below-market pay, poor management, meaningless work, and a lack of work-life balance, tends to treat each cause as separate. On-call duty does not sit neatly in one of those boxes. It sits at the intersection of pay and autonomy at the same time, which is part of why it functions as a compounding driver of attrition rather than a single grievance an employer can resolve with one gesture.

The common response, a retention bonus or a pay match offered once someone signals they are looking elsewhere, treats the most visible symptom and leaves the cause alone. Management trust, the fairness of the rotation, and the quality of the tools an engineer has to use at 3 a.m. all stay exactly as they were. That is how an engineer can accept the bonus and still leave six months later: the money solved a negotiation, not a working condition.

The engineers most likely to leave first are usually the ones with the most options, and they read an unpaid or poorly structured on-call rotation as a signal about how the organization actually values their time, regardless of what the offer letter says about salary. Retention, in other words, depends on three layers working together: monetary compensation, how the rotation is structured, and the tooling environment engineers actually have to work with during an incident. Fixing any one of these without the other two tends to buy a few months of calm at best.

Fair monetary compensation for on-call in practice

There is no single number or model that counts as fair pay for on-call work.

Three models cover most of what's in active use. Salary inclusion folds on-call expectations into the base salary itself, with a disclosed premium for roles that carry a regular rotation. That trades flexibility for predictability, and works best where the rotation's frequency is stable and known well in advance.

Public benchmarks give some concrete footing here. AWS pays Tier-0 engineers in the EU 25% of base pay for every out-of-hours on-call hour, plus a half-day of paid time off for every Saturday or night-time page they take.

A common objection points to large employers near the top of the market, companies whose total compensation already sits well above average, that treat on-call availability as simply part of the job and pay nothing extra for it, while still holding onto talent. That pattern belongs to a narrow tier of the market. It doesn't generalize to the mid-market teams that make up most of the industry and compete for engineers on more ordinary terms.

Labor law narrows the choice further before an employer even gets to pick a model. Transparency helps on top of all this: when engineers already know what an L5 at the company makes, they have less reason to interview elsewhere just to find out their market value. None of this, though, touches how the rotation itself is built, or what the tools look like when an engineer actually opens them during an incident. A well-calibrated pay model is a floor, not a solution on its own.

Rotation design's role in absorbing or amplifying the cost that pay is meant to offset

Rotation design is not a scheduling detail HR handles once and forgets. It decides the actual lived cost of carrying on-call, and a badly built rotation will undo fair pay by piling load onto a few people, cutting into recovery time between shifts, and leaving the whole team with the sense that the system is rigged against them.

The most common failure is the hero-engineer pattern, a rotation design failure in which load that isn't deliberately measured and spread out drifts toward whoever is most capable or most reliably available, pushing out exactly the engineers whose departure costs the team the most.

One structural fix is treating on-call load as something that affects capacity elsewhere. An engineer who carried a heavy on-call week does not walk into the next sprint with full feature-development bandwidth, and treating those two things as unrelated is how a team burns someone out without a single visible incident to point to. Escalation policy deserves the same attention as shift cadence. A clear, documented escalation path cuts down on the mental load during an incident and stops the informal habit of escalating straight to the senior engineer, the pattern by which uneven load distribution becomes permanent.

A concrete deadline is forcing many teams to have this conversation whether they're ready or not. Atlassian stopped selling standalone Opsgenie on June 4, 2025, and support ends April 5, 2027, at which point any instance still unmigrated goes offline and loses its data, schedules, escalation policies, integration configurations, historical alerts, and audit logs permanently. Teams with simple setups typically need four to eight weeks to migrate; those with more than 20 integrations should plan on eight to sixteen weeks, and nearly every team that has already gone through it underestimated how long it would take. Treated as pure tooling replacement, the migration is a chore. Treated as a chance to audit rotation design and escalation logic from the ground up, it's an opening most teams have been putting off for years. Atlassian's own prescribed path steers customers toward Jira Service Management or Compass, and choosing the combination of JSM plus Compass splits incident management across two tools that used to live under one roof in Opsgenie. Teams weighing alternatives have been looking at Rootly, which combines on-call scheduling with incident management, and Better Stack, which pairs monitoring with on-call in a single interface.

Alert noise as the hidden tax that makes even well-designed rotations unsustainable

Alert fatigue is a systems design failure, not a lapse in discipline or morale, and it's the most direct cause of on-call burnout, because it makes every single shift unpleasant no matter how fair the rotation or how generous the pay behind it.

The mechanism is straightforward and well understood. In effect, the alert system trains the people watching it to stop watching. The consequences are visible in real outages: a meaningful share of organizations have had an outage caused directly by a suppressed or ignored alert, and a comparable share have discovered a failure only after customers noticed it first, because no alert fired.

What makes this harder to shake off is that the tools meant to fix it haven't, at least not yet at scale. That undercuts the assumption that AI tooling automatically lightens operational load. A team that bolts AI onto a noisy alerting pipeline without fixing the alert quality underneath it adds a new layer of complexity on top of the old one, leaving the weight on everyone's shift unchanged.

A more durable fix is to gate what's allowed to page a human being. Every new service entering a rotation should have to meet a defined alert standard before it can generate a page, because skipping that step is how rotations end up flooded with low-signal noise from services whose thresholds were never properly tuned. Using SLOs to decide what pages, alerting on symptoms and on SLO burn rate instead of on every anomaly a monitoring tool can detect, turns alert volume from a liability into something closer to a ranked signal. It has the side benefit of making reliability tradeoffs visible to engineering leadership in a way a raw alert count never does.

How AI tooling fits into reducing on-call toil

Toil rose industry-wide even as AI adoption spread, which reframes the real question: not whether to bring AI into the on-call stack, but how to use it so it actually removes load from an engineer rather than just moving that load somewhere else.

Much of the AI already deployed in incident management is good at correlating signals faster, spotting that two services degraded at the same moment, for instance, but it hasn't made teams meaningfully faster at isolating root cause. Correlation speed has value, but it isn't the thing actually holding most on-call engineers back. What blocks them is missing context and unclear ownership of a system, not an inability to notice that two dashboards turned red together.

An AI system that produces a plausible but wrong causal explanation is genuinely dangerous during a P1, because an engineer under time pressure is liable to follow a confident answer even when it's incorrect. Production AI teams that have taken this seriously insist on evidence-backed reasoning with sources an engineer can actually trace, rather than open-ended generative suggestions, and on deterministic policy enforcement sitting below the model layer so an automated action can't run wild on its own judgment.

AI workloads also introduce a surface that on-call engineers haven't had to monitor before: token consumption, model version drift, agent decision traces, and GPU utilization per inference task are all telemetry that traditional monitoring tools were never built to collect. The engineer now responsible for an AI-augmented system is carrying a wider and less familiar set of failure modes than the tooling in front of them was designed to handle. That points to the real question teams should be asking before adopting more AI into the on-call stack: whether telemetry coverage is complete enough for an AI system to reason over it correctly, since AI reasoning over incomplete or fragmented telemetry produces unreliable output, and unreliable output during an incident is worse than getting no output.

Telemetry coverage gaps as the constraint that undermines all three layers of the retention fix

Fair pay, a well-built rotation, and cleaner alerting all rest on one shared precondition: engineers have to be able to see clearly what's happening in production before any of those three layers can do their job. Gaps in telemetry coverage quietly undercut all three at once.

Many of the tracing gaps that show up in distributed systems happen because trace context gets dropped or transformed somewhere in an inter-service call. An engineer troubleshooting an incident often isn't missing data because nobody thought to instrument the system. The data existed and got silently lost somewhere in transit. That problem compounds in architectures where an incident's trace crosses multiple data stores, since the engineer on call isn't looking at one system but at a chain of dependencies where any single link can drop context without anyone noticing until it matters.

Tool sprawl turns this into an active risk during an incident, not just an inconvenience. Every extra tab an engineer has to open while an outage is live is time the SLO keeps burning, and the tax of moving between fragmented tools raises MTTR directly, the number that determines how bad a shift feels no matter what the pay stub says. Sixty-six percent of organizations currently run two to three separate observability tools, and only 10% operate on a single platform, so fragmentation is the normal state of things.

Engineers who leave despite fair pay are frequently reacting to the day-to-day friction of the job itself: the noise, the manual digging through logs, the context-switching that eats into time off the clock. Teams that have invested in tooling built to cut that toil, automated incident investigation and fix-PR generation platforms among them, report meaningfully better retention even without changing pay at all, which suggests the tooling layer carries as much weight in retention as the paycheck does. OnePatch, an AI agent that monitors live production telemetry after every deploy and opens a reviewed fix PR when a regression surfaces, is built squarely around that use case. Closing the loop automatically between a deployment and its real production behavior, catching a regression before it ever turns into a page, and opening a fix PR instead of waking someone up, changes the economics of the entire on-call program beyond improving one tool in the stack. That is the concrete answer to a question a lot of on-call engineers are asking right now: the fastest way to cut noisy pages caused by bad deploys is to verify each deployment against real telemetry the moment it ships, rather than waiting to find out from an alert, or from a customer.

Auditing your on-call program across all three layers and prioritizing fixes

A rotation that actually retains people needs all three layers, monetary, structural, and tooling, above a minimum bar at the same time, and the practical starting point is figuring out which layer is currently below that bar rather than picking one fix and assuming it will carry the other two.

The tooling layer is the one to look at when alert fatigue becomes measurable: a large majority of pages turn out to need no action at all, the clearest leading indicator that the alert environment is teaching engineers to tune out real incidents along with the noise. A well-designed rotation gets easier to sustain once the friction engineers hit during a shift actually drops, fewer false alarms, faster incident closure, cleaner handoffs, and a platform that investigates an incident automatically and hands an engineer an actionable fix PR, rather than forcing them to chase the problem across five open tabs, makes the same on-call interval feel far less punishing, because the real cost per incident has gone down.

When all three layers sit below threshold at once, the order matters. Once both of those are solid, it makes sense to re-benchmark pay against the market and confirm the monetary layer is actually aligned. None of these three problems is unsolvable on its own, and none of them responds to being solved alone either. Taken together, they're the whole program.

Sources

  1. Google SRE: What it Means Being On-Call?

More in On-Call Team Health