Just a little bit of laziness
Any proper software engineer must be a little bit lazy. Not apathetic or careless, but lazy.
I don’t want to have to ssh into a service and grep around to check everything is running fine. I would rather have an alert when something doesn’t go as it should.
Of course, I don’t want to be awaken at 2a.m on a Saturday, either. Ideally the service should be able to recover itself. I will better go for a walk (or even play video-games, damn it) on Sunday, and read the alerts on Monday morning.
We don’t get paid, or should not get paid, to do any of those things. My work is to provide tools that make other people’s job easier and less of a burden. Automate their stuff. So why shouldn’t I seek the same for my team and I?
A decent software engineer should be lazy enough to be bothered by something like these examples, and automate them (or at least try, sometimes the infrastructure may be brittle and automation makes things worse).
I know I am not groundbreaking here, of course. Relevant xkcd:
If you have a fire on a Saturday, by all means put it out. Errors happen, we all mess things up. The failure is if someone had to stop their “me” time for solving the issue.
And I don’t mean a “failure” of which to blame someone, but a “failure” of which a post-mortem should be done, to find a solution for the bug, and to the fact that someone had to intervene on their free time.
Use laziness wisely.