(#)relative.
(#)relative.
I wonder if you couldn't formulate a rule to the effect of the more serious the task you are working on, the less you can afford to be optimistic. When Serious Things are on the line, you have to be a pessimist, because you have to find and root out all the possible weird failure cases before they bite you. When all that's on the line is a comment on someone's photo of their lunch, optimism is a more sustainable philosophy.
Being optimistic or pessimistic isn't quite relevant when people's lives are on the line, I think it's more about being _realistic_. Everything can fail, and everyone makes mistakes. This is reality. When people can die, there is much more impetus to pay (time and money) for everything to be triple-checked and triple-redundant.
But in pretty typical software development, that money and time isn't there. And the feeling of knowing you could have done better, if only given a chance, is horrible and eats away at your resolve. Then you wonder, "well perhaps I'm not fighting strongly enough," or "People are coding for space shuttles, and I can't even get this page to load!"
I believe it's a human right that your individual problems are no greater than another's, because it's relative. If you feel about it strongly enough, then it's valid. Saying it's not because people's lives aren't at risk is invalidating the human right of pursuit of happiness.