Living wages, normal schedules, plenty of vacation time, and a certain degree of autonomy would go a long way. It amazes me how few companies offer many of those things nowadays.
For software engineers, I haven't seen a company which doesn't offer all of those things. I guess it depends on one's definition of "normal", "plenty" and "certain degree".