On one NBA team I worked for, we had a defensive minded centre that could make a midrange jump shot. He was a solid player, and a great pro, and had a nice pay-check to go along with it.
Two years later I was working for another team, and we had a defensive minded centre that was making the league minimum. We were talking one day, and I was explaining how close he was to becoming an established player in the NBA, the kind of player that plays 15 years in the league.
The line that jumped out to the player was when I said “the only real different between you and the other guy that makes $10M a year, is that he has proven he can make a mid-range jump shot. You get a jump shot, you’ll get that kind of money.”
He looked at me and said “Let’s go get that money”
In a perfect world, you would motive players to make changes for the good of the team. But teams are fluid. They play on one team one year, an new coach the next year, new teammates the year after that. Not just in the NBA, but at every level. No one will do something that personal for the good of the team. It just isn’t realistic for most people. But them doing it for themselves will help the team. There is nothing wrong with using personal gain as motivation to get better.
That player is now a starting centre in the NBA, making 80% of free throws and shooting 3s at an above average rate. And he makes $10M a year.