Oh, and pretty much every employer - especially large employers - are pushed to have all people (regardless of age, sex, etc) at a given position level to be within a certain spread. If you're in the upper end of the spread, then HR pushes for a promotion so they can keep the numbers relatively close together. If you're at the bottom of the spread, then HR pushes for pay raises. Essentially, the position might have a spread of $20k, but HR pushes to keep folks within $5-10k of each other.
But that brings about a problem. They force their good people out of what they're good at and into something like management because they exceed the salary range. This leads to their top talent leaving the company because not everyone wants to climb the corporate ladder or become management.
Sometimes an engineer just wants to be an engineer.
Yes, very true unless companies create a path for people to remain technical while still advancing. But it still puts in place a glass ceiling.