But if the programmers that get free lunch are working for below-industry wages, and the data-entry people are getting industry wages, isn't it the people with the free lunch that are getting screwed over?
I find that compensation means how much your work is valued. Workplace perks usually mean how much that company wants that the people working there enjoy the place.
For me they are two different things. Although having different salaries/compensation for different kinds of jobs is perfectly normal and is hidden from people's view by the privacy that is applied to how much people make..... the workplace perks like free lunch and bus are totally visible (how could they not be?) and create a social divide between people that once accentuates their grief/delusions/issues and contributes to make people feel "different" in the human level.
They are, so the only honest option is to pay industry wages as a rule and provide (or not provide) a reasonably comparable level of perks to everyone.