Competence != Compensation
In America we are conditioned to believe that working hard, being diligent, and producing great work is the road to fiscal success. Anyone who has really worked here will tell you that is simply not the case. Prima facie, you must recognize that you are not paid what you are "worth"; that is, your personal worth has nothing to do with your income. One must never forget this simple fact. Despite the fact that you may do three times the work of your peers, you will not be compensated even twice as much.
Witness the Home Depot CEO who purposefully runs his stock in the ground, knowing well that a golden parachute awaits for him once the board of directors requests that he "step down." Negative output results in a cash payout worth over $200 million dollars. In America, you are worth what someone will pay you. There is no such thing as intrinsic value, only assessed value. In software development there are two ways of having your value assessed, by managers and by investors.
Make sure you don't hang your hopes on managers.