I will agree with you if all you are doing is “putting in your time”. It’s a competitive world out there. Just about always has been. Be the best at what you do, be willing to take on anyone and prove how good you are. Put in more that just your time. Become an asset to the company rather than just doing what you are told. Again, if you don’t like the situation, get out.
Yes, of course, but you can't fight the numbers--companies would rather retain older workers than promote the "younger guys" into their positions.
So you can be the best and still end up waiting around for someone to die to get a promotion.
It's a different world than the one you came up in--people used to retire and people got promoted then....