Everyone wants talented, experienced employees, but no one wants to invest the resources it takes to gain experience and develop talent. And why would they? After investing so much into their developer, a competitor would just come along and poach them with a cushier chair and a higher salary. Everyone would rather be the poacher than the poachee, and so those "rookies with potential" have no where to develop that potential into talent.
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.
His comment is why American companies cannot compete and poor managers decide to move their workforces to countries where they train their employees up because a larger and larger number of American companies think it is a waste of time and instead look for the Unicorns that do not exist, only to complain, and outsource some more with often terrible results.
I don't have that concern at all. I'm fairly hands off with my team so we can build and grow to where, ideally, other companies recognize how talented our engineers are. (I certainly think we're at that point).
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 :)
There is a lot of natural pressure to keep wages down in most companies.
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.
I remember post-bubble-burst times when people were willing to learn huge yucky legacy workflow systems all by themselves just to get a crap job in a dreary cubicle-land. Perhaps this got some managers spoiled.
I kind of see what he's saying, but I think technical managers are a fixture of the past, anyway. DBAs and developers should be taking responsibility or their own skill progression - not leaving it in the hands of someone else.
10 comments
[ 3.6 ms ] story [ 28.0 ms ] threadOf 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.