The subject of compensation for developers oncall comes up from time to time.
It can be difficult to find public examples of compensation structures to use.
These notes are from a quick survey of existing stuff I could find via discussions in opsy chats, the Internet, and direct questions to my network.
First, for those on the job hunt, a list of questions to ask about oncall, gathered from the Irish Tech Community:
- Do you compensate being oncall (i.e. value the stress) or just when you get called (bullshit) or never (warning sign)?
- What is the response time? Is it 5 mins (no life), 15-30 mins (some life, depending on if you have kids), or an hour (you can go to the cinema with your laptop)?
- What percentage of your time is operations, when you’re oncall?
- How many people are in the rotation? If < 6, is there a realistic plan in place to fix that?
- You need at least 4 people for a reasonable shift pattern, plus one for maintenance (e.g. holidays) + one for emergency (e.g. attrition).
- Is there one person oncall in a shift or is it a primary/secondary kind of thing?
Notes from the 'net
Second, some posts that cover oncall compensation in various detail:
- Kind of marketing white-paper stuff for OpsGenie which seems to have some support for oncall comp calculations. But some good notes on comp structures.
- Google’s (short) take on it in the SRE book.
- Has a good section on comp with philosophy as well as basic structure ideas.
- Long, philosophical, no comp structure details but good thinking around why it should be comp’d in “Toward a more sustainable and humane on-call” section.
Finally, a set of example compensation structures from various companies.
A fintech company in south America:
- If you are oncall but not working, +33% of equivalent hourly rate.
- Paged and start working, +300% of your hourly for that period.
- Some more extras for nights or weekends.
- They just exported data from Pagerduty: time working was acknowledgement → resolution.
- People would not resolve until they were finished any report or comms work that had to be done out-of-hours.
- This apparently was just how labour laws in that country apply - works the same way for doctors.
A medium-sized SaaS company operating across US / EU:
- Time off as standard if you actually get paged out of hours: ½ day per four hours or part thereof in responding.
- Comp at 25% for oncall time regardless.
- Comp → 100% for the time you’re responding.
- Because of how their shift structure works, this all tends to amount to roughly a 10% lift in salary, plus time to recover.
A large multinational:
- Some teams have business-hours only shifts for internal infra APIs.
- Other teams have customer-facing services and much stricter on-call.
- Those latter get paid per shift, get a mifi, and get time off etc.
- ^ didn’t get exact comp structure here.
Another large multinational:
- Three tiers of oncall, depending on pager SLA.
- Tier 1: >= 99.9% availability SLA, 5min pager response SLA.
- Comp paid at ⅔ for outside hours
- That is, outside business hours accrue hours at 2h for every 3h oncall.
- Tier 2: >= 99.9% availability SLA, > 5min but <= 15min pager response SLA.
- Comp paid at ⅓ for outside hours.
- That is, outside business hours accrue hours at 1h for every 3h oncall.
- Tier 3: everything else, not comped.
- Mon-Fri comp paid outside 9-6 core hours. Sat & Sun all comped.
- So if you were oncall 6am-6pm Mon-Sun that’d be like
- 3 x 5h for Mon-Fri
- 2 x 12h for Sat-Sun
- So 39h compensatable, converting into pay as 13h at tier 2 or 26h tier 1.
- You could take this as either time in lieu (at 8h/day) or cash (pro-rated to salary).
A medium-sized SaaS multinational:
- Shifts are either weekday or weekend.
- Pay according to 60h week (hourly equiv. from salary) if weekday shift.
- According to 40h week + 24h if weekend shift.
- Payout doubles if schedule includes public/bank holidays.
- Contact there mentioned this was very similar to structure in last job, another similar-sized SaaS.
- Former Ruby monolith sharded out over the last few years into services. Heavy on AWS and running less software.
- An unusual structure, but interesting: specifically because they have modified their approach to avoid having “too many people/teams oncall”.
- Virtual team, volunteers from any team in the org.
- 6-month rotations in that virtual team, having taken a handful of shifts.
- Oncall went from being spread across more than 30 engineers to just 6 or 7.
- “We put in place a level of compensation that we were happy with for taking a week’s worth of on call shifts.”
- Not sure of precise structure, presumably a bonus per week oncall.
Criteo, medium-sized Adtech HQ’d in France. This is from a 3y old Reddit thread:
- SREs are oncall. Pager response time is 30 minutes. (!)
- They are paid for oncall for nights/weekends etc. Exact comp unspecified.
- If you are paged, you get comped time as well in exchange (½ day at least).
- Internet & phone bill reimbursed for oncall engineers.
- If you work during the night, you have to stay home until you get 11h consecutive rest (French law).