Seems there are some fundamental but overlooked assumptions running through these comment threads, the stance that companies "should" pay higher salaries to workers who create more value for the company being one. The assumption is that the company, or its management, is like a parent that must treat each of its children equally. Why should this be the case? Who says a company should be a full-fledged meritocracy? If you work for me and I wish to pay your colleague more money than you, even though you produce more, why shouldn't I? I may have good reason to. Your colleague, I may think, simply needs the money more. Of course I understand you might choose to leave. I may even feel that would be best for you, that you have more to offer the world than you'll be able to give it in your current role. At any rate, you're free to make your life choices, including where you work. I'm free to make my life choices, including how I run my company. CEOs are not moms or dads.<p>A second assumption is that companies "should" reward people who have invested in educating themselves and cultivating valuable skills. You're in danger if you think like this. Companies pay good money for such knowledge and skills usually because they need to, not because they "should". That is why most will ask you to tell them your salary expectations when you apply, rather than tell you up front what they are willing to pay you. By letting you speak first, they may find you're willing to accept a less-than-market rate.