Where Have All The Good Managers Gone?
thomaslarock.com
thomaslarock.com
Of course, this is all a drastic oversimplification. Rookies can get jobs, and get some experience by exposure. But developing talent effectively & efficiently takes more time & resource investment beyond just having them do work, and that's investment with an uncertain and non-immediate return. It's a tough nut to crack, but the place where I would start is figuring out how to retain your good employees, especially when the growth of their market value is faster than your company's standard career advancement path.
Because there is mutual respect, if they want to leave for a higher paying job to be happy, that's fine. But everyone is staying because of the nurturing, trusting environment I'm fostering based on doing right by the person, and the company will benefit.
To me, and I think for them as well, advancement isn't primarily a paycheck or the company you're working for, but learning, being happy, and enjoying those you build awesome stuff with :)
This is far, far worse in companies where software isn't their primary business. Programmer wages are going up much faster than other wages (even more if it is a developer who is in their first 5 or so years in the industry), and it can be hard to hand out the frequent and relatively higher raises necessary to keep good/improving developers from going elsewhere, while other people in the company see far less in terms of raises.
It all ends up being for naught when the company has to find a replacement (which costs money) and train them (which costs even more money), and usually ends up paying them close to what it would have cost to keep the old person around in the first place. But that's usually politically easier than handing out raises all the time.