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.
I think a far more interesting thing to know would be profits.
Revenue is essentially a vanity measure. A company with $10m in monthly revenues with a 50% profit margin is making the same amount of money as a company with $100m in revenue and a 5% profit margin and I think it's important for the tech community to remember this.
As a current uni student, I have access to both DreamSpark and academic alliance, I probably wouldn't even have windows on my dev computer otherwise, let alone any of the dev tools and the being able to access free quality software from Microsoft really improved my opinion of them and it's important to get that mindshare of new developers if they want to stay such a huge force.
Oddly enough, I am also interested in learning old technologies. I am currently restoring an Apple II clone (that has the weirdest serial keyboard ever)
At my university, Software Engineering is a more theoretical course than CS, with no compulsory programming, and indeed no option for programming in year two, except for a Java module in year one, you do have to build a piece of non-trivial software for your final project though.