The only job I worked that didn't have a formal on-call rotation ended up with me unofficially on on-call, with the same expectations as though that had been set up up front: boss calls whenever he calls and expecting an answer, and I'm left deciding how badly I want this job. Turns out management there sucked and I ended up on on-call after all.
If you find a company that actually has a good story for why they're able to get away with no on call, that might be a good signal. But if they're out there I'd love to hear from them, because most people here are just speculating about better alternatives, not speaking from experience with ones that actually worked.
I obviously can't speak for others, and the plural of anecdote is not data, but this is exactly why I have taken such a hard stance on the topic.
Well, not so much "without warning" as much as a "this is happening, we understand it's less than ideal and promise to make it as painless as possible".
And yet still somehow end up with a call on the night before Christmas Eve (I was very thankful it was not any later).
I don't think the service we ran was actually so important for the company so as to interrupt my holiday. The only negative consequence is that some engineers at the company would be slightly less effective. During Christmas at a US-based company. Imagine.
Even if I was adequately compensated when I was hired, that call wasn't what I signed up for. I told my boss I wanted to leave the day I returned from my now-extended vacation.
Sorry, perhaps I'm bitter. But to be fair, I did get a $100 Amazon gift card for that event (from the engineer who caused it, not from my boss), which is more than others get, so perhaps I shouldn't complain.
Let's say I'm a business owner and I'm frustrated with the current state of the on-call system. I have options.
I can try negotiating with my clients to lessen the load in some way. Obviously this isn't always possible but it often is. I once had a freelance project that required 24 hours of on-call after a release. I negotiated release days that were convenient for me (never Fri/Sat/Sun). One time the client pushed back, I pushed back harder, and I won. In order for my push back to work I ensured that I had enough negotiating strength to do that which I planned for ahead of time.
I can upgrade my systems. For example if my current paging system is insufficient I can choose to pay $10/month more for another system that makes my life easier. I can set aside time to refactor my alerts code to make my life easier and I don't need to justify it to anyone but myself.
I can straight up refuse to do on-call and deal with the consequences to my business. Freelancer developers do this all of the time. We choose which client work to do and not to do. We can make these choices arbitrarily. Sometimes it's seasonal. Sometimes it's just based on vibes. Doesn't matter; it's our company.
Meanwhile the average on-call engineer at a large company has none of these freedoms. The underlying systems are chosen for them and they just have to deal with it.
In most cases they have all of those freedoms, and the only barrier is one that's shared with the self-employed person: not liking the consequences of choosing those options.
They could negotiate with their manager to lessen the load. They could upgrade the systems. They could straight-up refuse on call.
They don't because they don't like the consequences of taking these options—and neither does the self-employed person!
Correct. "Shove it" is usually preceded by not liking something.
> They could negotiate with their manager to lessen the load.
Most of the time the manager will simply refuse. As a business owner it's my decision.
> They could upgrade the systems.
At big companies this is usually outside the scope of an on-call engineer. The on-call engineer often doesn't even have commit rights to that repository.
The specific example I gave was paying $10/month more. That can be a very hard sell at a large company because their service contracts are much more complicated/expensive.
> They could straight-up refuse on call.
A business owner has much more negotiating power than an employee does.
> They don't because they don't like the consequences of taking these options—and neither does the self-employed person!
In the vast majority of cases making changes to the on-call infrastructure has very little (if any) measurable impact on the business. Like spending a week making the systems better. Or changing deploy/release dates to be more convenient.
As a business owner I can take advantage of this and make my life easier.
As an employee I have layers of bureaucracy to wade through and will probably be refused. Not because it affects the business but for other reasons.
That's the difference.
I have the enviable situation where I am on call for half of every month, I get paid significantly extra for this, and there's maybe 1 emergency call per year.
The only time I made significant money on call was early in my career as a contractor.
Salaried tech employees do not get extra pay for being on call, generally.
It also depends on the nature of the alerts I suppose. For us, the majority of the alerts could be checked and resolved from a mobile phone (they are alerts that could strictly speaking be resolved in an automated fashion, but the automation would get complex enough with dependencies on other service's metrics that we wouldn't be sure of not having bugs in _that_ code). About once a week or two weeks we would get an alert that needs us to look at the logs and so on.
In general people joining Amazon should be aware that they're joining a company that is fiercely and proudly opposed to work-life balance.
This goes back to Shabbat/Sabbath.
I'm really not seeing the distinction here. If a company offers a salary and includes on-call as part of the deal (and communicates that up front so it's not a bait and switch), how is that different than running your own business and getting compensated for your on-call time as part of a package that you sell to a client? In both cases you agree up front that you will be part of an on-call plan. In neither case are you getting a bonus for doing a good job at on-call, because either way you're just doing your job that you committed to ahead of time!
I'm totally sympathetic to people who don't want to be part of an on-call. Jobs that have on-call aren't for you, that's fine. But I don't get this idea that it's uncompensated labor, unless there are tons of people out there who somehow ended up in jobs that sprung on-call on them without warning.