If something breaks and suddenly no customer can use the product and its 5pm and the engineers say "Welp sorry, my shift ended a few minutes ago so I'll fix it tomorrow!", that is in fact the bare minimum. If an engineer does that, they can be expected to not be earning any raises for actually doing what they're supposed to do, which is not to sit at a desk for a few hours a day, but to deliver a product
The problem is that you are saying two different things in your replies. On one hand you say that you aren't suggesting that people work for free, and on the other hand you say that people leaving when their shift is over should not be rewarded with raises.
If employees are being paid to stay after 5 or be on call, then their shift isn't over. If they aren't being paid for their time, they absolutely should go home. If the product cannot afford to go down, the company is responsible for keeping paid staff on hand. Expecting people to work beyond the agreed amount and punishing those that don't by removing opportunities for advancement is reproachable. It may be the norm, but it shouldn't be.
If the company doesn't have a decent on-call plan for such issues that happen outside of regular hours, then why on earth should I be the one who has to fix that? The company is not making me a favor by giving me a job, nor I am making a favor to the company either; it's just a regular business transaction and contracts matter. If my contract says 40h/week, then why the company should expect more? If my contract says that I'm getting paid X per week for doing on-call, then sure it's my job to fix shit outside working hours.
If you tell that "you break it, you fix it", I say "agree, but during working hours"
> which is not to sit at a desk for a few hours a day, but to deliver a product
Please, let's be professionals. You work is whatever your contract says (which yes, it usually says "to deliver a product" but it also says "40h/week"... at least mine says so)
No. If the product needs to be available 24/7 then is sensible to expect a budget to do that. As in every other industry, you have around-the-sun resources allocated, proper oncall shifts, and whatever other safe net you can think of. Expecting a proverbial engineer to jump and fix things adhoc is poor business planning and fantasy-football level management.
That's why OOH (Out Of Hour) On-call Rotas are a thing.
I work as a SWE and when I'm done, I'm done.
Except one week a month when I have my OOH shift, which is on a voluntary basis in the company I work for. If something breaks during time out of office hours, then it is my responsibility to take care of it. I do, however, get paid quite a nice extra sum just for being on-call.
The company should be hiring staff to ensure continuous coverage, not relying on someone who has worked a normal "shift" to work overtime because the company is too cheap to hire the support and operations staff that it needs.
It's 5pm where? If the answer is "anywhere", then the company needs 24-hour coverage in multiple time zones, so there's always somebody on shift.
You seem to be under the impression that there is no level of effort between "sit at a desk for a few hours a day" and "be on call 24 hours a day". I can't imagine why.
The solution to this is proper support chains and on call schedules. Not to have every engineer on call 24/7. If your application is so mission critical, just expecting someone will always pick up the phone is irresponsible.
It's only the engineers problem if the engineer has signed a contract specifically stating that they have to work overtime in emergencies. If not then it's the company's problem.