Taking good care of employees and contractors can be in the company's interest, though. It's costly to lose them and having to hire new ones, and ex employees talking badly about a company also is not good.
(I'd think, I don't work in HR, so no idea what actual directives they have).
I could see the difference with "commodity" employees, and that sucks, but what's the big difference if we are talking about programmers? The company is obviously very interested to make us not want to leave, and also probably interested that we feel like caring about the product.
There'll always be culture of omerta when you don't give someone a piece of the company.
If I'm an hourly employee, our interests are not aligned. You don't value me enough to share the wins but I know I'll be sharing in the losses by getting fired.
To everyone pretending otherwise - wake the fuck up.
I say this both being a non-unionized often-contractor, but in some other industries that would be the union. Ignoring all the politics sounds that, growing up I certainly got to witness my dad’s coworkers and union come together to help out their members personally when tragedy struck, as well as planning social events and fundraisers. Some parts of union can be really bad, but they’re not exclusively bad.
In a HR org that is damaging to the company, they always side with the company; What is unique to HR, is that can often turn them AGAINST an individual worker.
(I'd think, I don't work in HR, so no idea what actual directives they have).