3 ms·
Facebook's oncall compensation is really simple: it's zero. Having also worked at Google, I found this situation ridiculous. Facebook treats oncall as somethin
by cletus 4y ago
Facebook's oncall compensation is really simple: it's zero.
Having also worked at Google, I found this situation ridiculous. Facebook treats oncall as something you're just expected to do on top of everything else you're meant to do. So if you have 50 alerts fire, 40 tasks create, 5 UBNs (UBN = Unblock Now, which should be responded to immediatley and will probably be a SEV) and 3 SEVs, well you just have to do all that and your job.
Google oncalls (IME) tended to be fairly light. You'd often do releases too but there tended to be a lot of automated processes around this (ie building binaries, packaging MPMs, release to staging, release to canary, regression detection, push to production).
Facebook's releases (other than Web) were (again, IME) a dumpster fire.
Web was a special case because of continuous push. Push a commit and automated processes would build the (very large) www binary and handle the push to C1/C2/C3 (these are sort of analogous to internal testing, canary aka 1% and prod). Automated processes would verify a commit by deciding what tests to run. This wasn't explicit and would miss relevant tests for various reasons. This could (and often did) break trunk. This could back up pushes for hours. First thing in the morning it may take as little as 2 hours to push to prod. Later in the day it might take 8+ hours.
Facebook works around this by using conditional code, like... a lot, meaning certain code would only run if you're in right set of GKs (gatekeepers) and QEs (quick experiments). Behaviour would be flipped on by a separate GK/QE push, which is much quicker.
But this means when something of yours breaks (which it often does) you have no idea why. Is it a bad code push? A bad GK/QE push? By you? Or some infra you depend on?
I mention this because you had to deal with this sort of thing oncall a lot.
The problem with not giving oncall compensation is that the burden is never shared equally. The person or persons who do more than their fair share are never going to do it for the money because it is annoying but at least the money is some form of recogniation or, dare I say it, compensation.
Disclaimer: Xoogler, Ex-Facebooker.
- deleted 4y ago[deleted]
- boruto 4y agoI wonder how it works in Europe where the expectation is that you are compensated