It's a valid concern - that by training your employees and giving them experience, you make then so valuable that they can leave.
I fight this problem several ways:
I turn our services into a products so that I can onboard people quickly and drive down costs - for example instead of telling each employees to setup a backup on a server, I had one employee make a script that we can deploy on all new servers. By turning processed into an easy to deploy product - It also keeps boredom low.
I give raises quickly and early to match new skills, so that when they do go job hunting they don't see a tremendous pay increase.
I compartmentalize employees so that they get really really good at a smaller range of skills - this lets me charge the customer more, and lets me pay my employees more, but it also has the side effect of diminishing job prospects.
it also has the side effect of diminishing job prospects.
What exactly do you mean? In my experience companies often try to hire people with specific skills instead of generalists (which btw is a mistake imo, smart people will be able to pick up the skill in question).
I certainly agree that smart people will quickly develop!
Based on the small size of the company, I must hire people who are intelligent and yet are passed over by the job market because they can't display that with a degree or job experience, and I've found your assertion to be true.
You're probably correct - perhaps given that we pay well and hold fast to 40 hours- it's more likely that there's not much incentive to leave.
That last point may sound evil to some people who want the employee to hold all the cards. But it is the classic division-of-labor approach that increases productivity in any undertaking. And it's a win-win since you can charge more and pay more.
This is completely, totally, and nonsensically evil that I'm not sure even where to begin. Supposing your company hired me and I knew this was the opinion of anyone who worked in management I would be polishing my résumé my first day on the job. This is the best way to make sure that the only people working for you are mindless drones and your HR office is a revolving door rather than a ladder for people with an ounce of ambition.
I wasn't clear enough - by investing time and energy into simplifying our mundane services into a product, we're able to expand into more interesting projects - and we have the profitability to do charity work and blue sky work.
I'm certain that there are employees that like rote work, but for me, I can't stand it and project that onto others.
I'm making the attempt at being brutally honest. I share this as honesty as well as I can with my employees - as they understand the career and employment pitfalls of being the "PostgreSQL on ARM32 FreeBSD 9.1 dude" as opposed to the "I can figure out [anything]SQL on [anthing] dude"
I supposes I could sugar coat things - but given that I'm hiring really smart people they'll figure it out and won't trust me one bit.
For the employee it's not. For the employer, it obviously is. If you can't get hired somewhere else, you're not going to bail.
As someone dealing with basically this situation, it sucks, but if I was also getting handed one-off "solve this puzzle and we're going to use the code you make every day" problems and raises early and often, it wouldn't suck nearly this much.
There are companies which love all-around workers who can pick up all shits tossed from anyone. You will have to deal with everything from setting up a website to debugging a Windows device driver, and probably fixing a motor fan occasionally. They will tell you that can contribute to your value as an employee and help your job prospects. But the truth is the management does not have the skill and interest in task division. All they can do is sort of 'people skill' to make you voluntarily stay overtime and get the shit done ASAP.
I would rather not having that kind of job prospects.
I have yet to ever interview for, or interact with/work for, an employer in high-tech Silicon Valley who did not obviously (to me) share these beliefs. Could you talk a little more about your experiences?
I fight this problem several ways:
I turn our services into a products so that I can onboard people quickly and drive down costs - for example instead of telling each employees to setup a backup on a server, I had one employee make a script that we can deploy on all new servers. By turning processed into an easy to deploy product - It also keeps boredom low.
I give raises quickly and early to match new skills, so that when they do go job hunting they don't see a tremendous pay increase.
I compartmentalize employees so that they get really really good at a smaller range of skills - this lets me charge the customer more, and lets me pay my employees more, but it also has the side effect of diminishing job prospects.