Learning is part of software. New techniques and new technologies show up every day, and we all need to get comfortable with at least some of them. Unfortunately, the training budget is small or nonexistent at many of our jobs. I worked in one startup for a while where the training budget was "whatever you can scrounge up by saving on hosting costs without messing up the site responsiveness." That one incentivized us to make the software more efficient! Training also costs in time. A day I spend in training is a day I don't spend writing a new feature or fixing a bug. Nevertheless, as a boss, I know that my team needs training. It's in my best interest for my team to learn cool new things, too. I don't want to have to go hire someone new just to get a new skill set in place; I'd rather keep the team I've got and add the skills. That means that as a boss I'm going to find ways to help make training happen. We've just got to work together to find a way to do it. So, what are some of our options?
  • A conference. This is almost never my first choice. It tends to be very expensive, by the time you add up the conference itself, plus flight and hotel, plus the week or so away from work — and that's just one person who got some learning! If you can arrange to speak at the conference, which usually gets you in free, then I'm much more likely to be able to make this happen. If you go, expect to have some responsibility for disseminating the things you learned.
  • A class. Many colleges — MIT, Stanford, Harvard, and hundreds of others — offer evening classes. They're a semester long, just like college, and cover a wide range of technical and management topics. This isn't the place to go for up-to-the-minute technologies, but it's a good place to get a grounding, and they tend to be under $1,000 per person. This is particularly useful for team members who are transitioning roles (e.g., support into QA, or into management).
  • A seminar. This is like a class but generally only a couple days long. It's a reasonable way to learn, particularly about emerging or newer technologies. The quality varies widely, though, so do some research. As for cost, it's about $1,000, depending on the duration of the seminar.
  • Expert Instruction. Getting an expert to come in and train the entire team can be a very efficient use of training money. The entire team generally gets training rather than one person, and most consultants will be open to an arrangement that includes some follow up, allowing for questions or later check-ins as the team implements whatever they learned in training. Again, the particular expert will determine how good this is, so before you go spend $5,000 or so, check some references.
  • Peer Tutorials. Getting a team member to give a brown bag lunch talk on a topic is a very cheap training mechanism — about $250 for a lunch, depending on the size of the team. It's a good follow up to other training, and a way to disseminate information from one person throughout the team.
  • Books. Buying books or online tutorials is one of those things that I'll almost never say no to as a manager. Even expensive books are cheap, and an hour of "Rails Recipes" saves the team hours and hours of debugging time later. That's not even a hard financial decision!
For most of us, training doesn't just fall into our laps. Look for opportunities and go to your boss with them. Odds are you both want it; it's just a matter of figuring out how to make it happen.