Just some humble tought:
- Give people 20% of their working time free to work/investigate/discover something FOR the company. It doesn't matter which technology they will use. Ask them for a deadline where they will present their work to you and other managers (I mean people that decide things in your company).
- Reward them giving responsibility for their projects and maintaining this responsibility after they achieve a good result.
- Reward them in front of your
customers publicly.
- Reward them
asking for new strategies in future
project you'll start.
This wouldn't solve your communication problem, of course, but will be a good tool to filter people who still wants to achieve,improve,build... Share and grow!
If there is a RubyConf, JavaConf, whatheverConf they like to participate, send them there (with your funds) and ask them to bring a collegue (more inexperienced) with them. If your company can, organize or participate in arranging one of those conferences, in your town.
Promote internal training courses on modern technologies, with small classes, if possible.
I read about Philip Greenspun creating small groups of consultants and sending them directly to the customers making them responsible for handling customer relationships, deadlines, needs avoiding any "I sell, I promise, You build" sales force layer in the middle.
Seth Godin talks about "linchpins" as people who can manage himself and lead in a company. I'm sure your company has some of them. The point is to have them emerge, giving them a reward for this coming out.
About the tool, although It could seem generic and subjective, Let them choose their tools.
It could sound crazy, but I'm not the only one thinking this way :)
By the way this is what happen sometimes...