I wonder what "ethical" or "moral" definition or meaning can be used here.
Sometimes, we know that for a new graduate or senior software engineer, the market rate should be about $120,000 per year as the base salary at our company.
However, using some tactics, such as by asking him a "minimum salary" to begin with, or by pressuring him to accept the offer within 1.5 days so he cannot shop around, the company may be able to pay him $100,000 or even $95,000.
Is this ethical or moral?
I may think it is not, because you aim to underpay somebody.
However, isn't it true that whenever we buy an item, or buy a stock, we want to pay the lowest price? When we want to remodel the kitchen, we also want to find the acceptable, good contractor so we can pay near the low price.
If that's the case, how is the company underpaying somebody any different?
The only thing I can think of is: you buy it once, perhaps they just want to have a sale or get rid of old merchandise, but if a company underpays a person, it is likely to be for two or five years. (lower base, with the same raise, it is lower later on). Moreover, if you see Peter getting $120,000 and Mike, also the same skill, same capability, same speed, but he gets only $100,000, and you don't say a word (as the HR or recruiting department), doesn't it go into the apathetic "who cares about you, Michael" category and therefore is unethical and immoral?
So my question is: is underpaying somebody for years ethical and moral?