Being on-call will never be fun. It can, however, be survivable — and most of what makes it survivable is decided long before the page fires.
The three things that help most
- Runbooks that assume a tired human. Copy-pasteable commands, expected output, and the one dashboard that matters.
- A known blast radius. If you can't say what a change can break, the change is too big.
- A culture that fixes the page, not the person. Every wake-up is a bug in the system or the docs, not a failing of whoever answered.
Do those three and on-call stops being dread. It becomes just another part of the system you can improve.