People who give it their all at work and then complain they're not rewarded for it with promotions, you need to change your approach. This is Exxon. Here you need to work smart, not work hard. If you finish all of your work and everything else your manager keeps adding to your plate, why in the world would he or she want to lose you by giving you a promotion? No, they're going to make sure you stay exactly where you are so you can continue to make them look good.
Instead, work only as much as you have to (this way they also don't see you as a threat) and make sure to always agree with your manager (even when they're wrong.) As I said already, work smart, and then maybe you'll get ahead.