What causes people to hate their job?
In my opinion it's mostly the lack of appreciation and recognition/reward if you go the extra mile and it's taken for granted or your input is not taken seriously.
An example is the last company I worked for kept on asking for input from us of ways that we could save the company money and no matter the suggestions none were implemented resulting in people losing their jobs.
There were some of us managers that put our hearts minds bodies and souls into the success of the company and were not given bonuses or increases where we found out newer staff members were given and senior managers were earning our commissions. Newer staff members were allowed to take vacation leave after only a few weeks of starting there and allowed lunch breaks off where as we were expected to work overtime and not take time off or be paid out for it.