Pay the pager, not just the person
Nothing corrodes a rotation faster than the 2AM page that pays nothing. The engineer answers, resolves, logs it, and comes back the next morning to an inbox that never noticed they were awake from 2 to 3:40. One unpaid night is solidarity; a quarter of them is a rotation that quietly stops answering, and then your on-call schedule is a document, not a system. An on-call compensation policy is not a luxury for companies with HR departments — it is one page that says what being on call is worth, so nobody has to negotiate it at 2AM while an incident is burning. Write it before the first page, the same way you write the escalation policy before the first escalation.
1. First, decide what “on call” legally and practically means for you
- The restriction test decides the model. If being on call means the person must be sober, reachable, within fifteen minutes of a laptop, and able to answer within ten minutes — that is not free time, it is constrained time, and most pay systems treat constrained time as work time. If being on call means “keep your phone nearby, respond when you can,” that is a stipend situation. Your policy should say which one your rotation is, in one sentence, because everything else follows from it.
- Write the response SLA into the policy itself. “Acknowledge within 15 minutes, engage within 30” is the same SLA your severity matrix implies — put the numbers in the compensation policy too, because pay and expectations belong on the same page. If the SLA is unmeetable, the policy is fiction and the rotation will burn out exactly like alert fatigue predicts.
- Say what counts as an engagement. A page acknowledged and resolved in ten minutes, a false-positive alert investigated for forty, a question from a customer-success teammate at 11PM that turned into a two-hour fix — all of it is on-call work if it happened because the person was on call. The classic leak is “informal favors” that never touch the timesheet; the policy closes it by defining engagement as any interruption initiated by someone else because you were on call.
2. Pick the pay model — then write down the exact arithmetic
- Model A: stipend per shift. A flat amount per week or per weekend on call, regardless of pages. Simple, budgetable, fair when page volume is low and unpredictable. The failure mode: a rotation that melts under a real incident season still pays the same, which is why the stipend needs the engagement rules from section 3 underneath it.
- Model B: engaged time, hourly. Time on call is unpaid or stipend-covered; time actually spent responding is paid at an hourly rate (often 1× or 1.5× the person's effective rate), with a minimum increment per engagement. This is the fairest under low volume and the most common for small teams. The arithmetic must be exact: “each engagement is paid for a minimum of 30 minutes, rounded up to the next 15” — because a four-minute fix at 3AM took twenty minutes of human cost to even see.
- Model C: hybrid. A small weekly stipend (the price of carrying the phone) plus engaged-time hourly on top. This is what most mature small-team rotations converge on, and it is the model the template below assumes. Whatever you pick, write the formula in the policy so a single line can be pointed at during any payroll dispute: pay = stipend + (engaged minutes × rate, min 30 per engagement).
- Overtime and exempt status are not optional details. Non-exempt employees legally may be working when they are on call — constrained time can trigger overtime rules, and salaried-exempt misclassification is a classic expensive mistake. This page is not legal advice: the policy template includes a “check with your accountant or local labor authority before first payroll” line, and that line is the most important one in the document.
3. Count middle-of-the-night time like it is real, because it is
- The engagement clock starts at the page, not at the login. The person who hears the pager at 2:07 and starts looking at the dashboard at 2:11 worked from 2:07. Minimum-increment rules (30 minutes per engagement) exist precisely so nobody has to litigate the difference between a nine-minute and an eleven-minute fix at 3AM.
- Interrupted sleep counts as engaged time. A 1:40AM page resolved by 2:05 that leaves the person too wired to sleep until 3:30 is, practically, a 2AM-to-3:30 engagement. Sophisticated policies handle this with a simple rule: engagements between 10PM and 6AM carry a minimum of 60 paid minutes, not 30. The number matters less than the principle: the cost of a night page is bigger than the duration of the fix.
- False positives are still engagements. If your monitoring wakes someone for something that was not a real incident, that is a monitoring problem (fix it with the alert-fatigue checklist) and it is still paid time (fix it in the policy). A policy that pays false positives is the fastest known way to get the noisy alerts actually deleted.
4. The one-page policy template
- Header: who is covered (roles, not names — the policy survives team changes), the effective date, and the review date. Review it at the same cadence as the rotation itself, quarterly, using the weekly review habit scaled up.
- Section: what on-call means here. The restriction test result (constrained vs free), the response SLA (acknowledge within X, engage within Y), and the devices/availability expected (laptop reachable, internet, phone charged — the unglamorous engineering requirements of a rotation).
- Section: what it pays. The model (stipend / hourly / hybrid), the exact formula, the minimum increment per engagement, the night-page multiplier if any, and the cap-free honesty clause: there is no cap on incident pay; bad weeks are the company's problem, not the engineer's. A cap converts every bad incident into a personal loss and quietly teaches people to stop engaging.
- Section: exclusions and disputes. What does not count (a scheduled maintenance window the person chose to watch voluntarily; their own week of duty swapped with a willing colleague — swaps keep the original pay split unless you say otherwise), and the one-line dispute path: raised in the handoff, resolved by the ops lead within one payroll cycle.
5. Fairness in a thin rotation
- Small teams rotate thin; compensate for thinness deliberately. A three-person rotation means every third week is constrained. The stipend exists to acknowledge that constraint even in weeks with zero pages — the person who carried the phone all week and got lucky still did not get to plan an evening. Paying zero for a quiet week is how you teach people to resent the rotation.
- Comp time for heavy weeks. A shift with more than N engagements (pick N — five is a common first guess) is a data point: either the product has a real problem or the rotation is too thin. The policy should offer a half-day of comp time for such weeks and trigger the review: any week that heavy gets a look at the downtime budget and the underlying incident trend.
- Swaps are allowed and paid. Whoever carries the pager gets the pay, regardless of whose name was on the schedule originally. Bureaucratic pay-follows-schedule rules create silent disputes over shifts that were swapped in good faith at the handover.
6. Records: the boring half that makes the policy defensible
- Log every engagement, same day. Timestamp, page source, duration, outcome. Two minutes of logging per engagement is all it takes. Without the log, payroll is memory, memory is dispute, and dispute is resentment. The log doubles as your rotation health data: it is where you will see that Tuesday pages tripled after that deploy pipeline change.
- Pay from the log, not from memory. The payroll cycle pulls the engagement log, applies the formula, and pays. Exceptions require a written note. This is the same discipline as any other ops control: the runbook makes the response repeatable, the log makes the pay defensible.
- Keep the records with the pay records. On-call pay is wages or compensation, and its records belong with payroll retention, not buried in a chat thread. If a labor authority ever asks how you compensate constrained time, the answer is a document and a log — not a Slack search.
7. The policy is a living control — review it on incidents
- Every severe incident ends with a compensation check. When the postmortem is written, one line item asks: did anyone's on-call week absorb an unusual load, and did the policy pay it the way the policy promises? This closes the loop between incident process and compensation — and it is how the policy earns the trust that makes people willing to carry the phone.
- Retire the policy the day it stops being true. If the team grows, if the product gets a real on-call burden, if the law where your people live changes — update the one page. A compensation policy that has not been touched in a year is not a policy; it is a fossil the team works around.
This page is an operational template, not legal advice. Employment-law treatment of on-call time varies by country and state — have an accountant or local labor authority confirm the pay model before the first payroll run.