The negativity seems to be pervasive at companies where tech is viewed as a cost center. At those kind of companies, IT tries to be proactive at first, but being proactive usually costs money, so it's often ignored. And then a failure happens as a result of ignoring that issue and then the tech people get yelled at.
I've seen a major difference in attitude when the executives are involved/invested in the tech team. Even when things are really bad, failures happening all the time, it is still a positive environment and people want to help each other. It is stunning the difference it makes to just have everyone invested in the decisions from top-down so you don't feel all alone.
As for IT being understaffed, I do think this problem could be improved if companies invested more in their employees (e.g. training). And maybe took more chances on peoples capability, instead of requiring 2-3 years of experience on a range of skills prior to hiring them.