Another better alternative is for these companies who can't afford the top talent, to train new talent (new grads, new juniors or people with less then 3 years experience) and upgrade them into where they need to be for the companies long term benefit. Also if you are going to say next that these people will just eventually leave, the number one reason people leqve a job is because of a shitty boss/manager. A company who invests in their employees will hopefully not develop bad managers, who can keep good individual contributors. Hell that's in my situation, i'm underpaid, but I also am working for the best manager i've had so far in my career, so I trade off stress and money for a relaxed and longer life.