Companies these days struggle with employee retention, particularly when it comes to knowledge workers. Software developers, especially, have become notorious for changing companies frequently. In response, many companies offer creative perks designed to mitigate the problem.
You hear a lot about the more exotic ones. Stories abound of hip tech companies setting up ping pong tables and video games or hiring onsite chefs and masseuses. But there's another perk you see quite frequently in the corporate world. It's not tossed around nearly as frequently by recruiters, but I'd argue that it's every bit as important. I'm talking about a self-improvement training budget.
Companies do this for understandable reasons. In the first place, it offers a perk for employees, engendering goodwill. But it's also good for the companies, assuming the staff members taking advantage stick around. These organizations invest in their employees and reap the benefits of their augmented skill levels.
But often, these budgets come with little direction. This affords developers the benefit of being able to apply the money at their discretion. But it can also result in overwhelming them with options. All too often, these dollars go unused because of analysis paralysis.
So, today, I'll offer some ideas for how you can spend this money most effectively, getting the most out of it.
A Helpful Metaphor
Before getting into specifics, I'll offer a general philosophical framework for spending this money. And, since the amount of the budget you'll get can vary widely by organization, you should bear this general approach in mind.
Accordingly, to a commonly recounted tale, a teacher stood in front of a room full of students and brought out an empty mason jar. He asked whether the jar was full or not and, predictably, the students replied that it wasn't. He then filled the jar with some rocks and asked the same question. The students replied that, yes, now the jar was full.
In response to this, the teacher brought out a bag filled with pebbles and emptied it into the jar. The pebbles distributed themselves among the larger rocks. The students laughed and took the point. "Okay, now it's full." But the teacher hadn't finished. He removed a bag of sand and emptied that into the jar.
Again, the students felt a little silly, but now they could not possibly imagine cramming anything else into this jar filled with rocks, pebbles, and sand. As a coup de grace, however, the teacher took out a cup of water and poured that into the jar as well, and so ended the demonstration.
Had the teacher filled the jar first with sand or water, nothing else would have fit. Making the most of the space required a specific strategy. And so it goes with your approach to your training budget. You need to identify your rocks, pebbles, sand, and water, or else you risk not getting all you can out of it.
The Rocks: In-Person Training
It's had to beat in-person training. There's a reason that academic programs since time immemorial have involved students co-locating with a teacher to work together instead of everyone simply relying on self-direction.
With in-person training programs, you receive individualized attention and the ability to ask as many questions as you need. You can also benefit from ad hoc collaboration with your peers as well as the fact that you're a lot less prone to distraction when you assemble in a place specifically to learn and practice. And this is a great way to do a deep dive into something that will be important for your work in the future.
But in-person training requires significant investment. So you have to treat it as your "rocks" and plan for it first. Each year, identify a technology at the intersection of what interests you and what will help your company. Then, go find some deep-dive training on the subject.
The Pebbles: Online Programs
Maybe your budget doesn't allow you to have any rocks at all, or maybe you've already picked one. In person training can mean a good bit of expense, some of which comes in the form of travel and lodging if required. But you do have a similar option with a bit less expense and commitment.
You can opt for a live, online training program. This has many similar benefits to its in-person cousin, but tends to involve less overall expense. Of course, you can't quite simulate the intense collaboration and hallway conversations of the in-person experience, but this makes for a nice compromise.
The Sand: Online Training Libraries
Once you've picked the centerpiece rock(s) and complimentary pebble(s), it's time to move onto the sand with your remaining dollars. I recommend that you do so with a nice, complimentary offering at a lower price point.
I'm talking here about an online course library like Pluralsight.com or Lynda.com. These offerings generally have a recurring and low monthly cost. With these programs, you completely lose the high-touch, individualized attention. These courses are completely asynchronous, affording minimal if any, interaction with the authors.
But, on the flip side, they offer a great deal of variety. Whereas in-person training and intensive online training focus on a specific topic, the sand of an online program allows you to dabble in many different ones. You can focus on some that you need directions for your job and on others simply because they interest you.
The Water: Books
Once you've squared away the major pieces of your training strategy and filled out some more with a course library subscription, it's time to use the rest of your budget up on your "water." To do this, I'd suggest taking a look at books.
You can always go the traditional route by picking up a how-to book on a programming language or framework. Major publishers like Manning and O'Reilly produce tons of these. But you can also look for less expensive options. Leanpub features self-publishing authors whose knowledge you can acquire for less money, on average. And you can also simply look around Amazon and other booksellers for good deals.
Given that you can find books as cheaply as a few dollars in some cases, let books make up the water in your approach. If you have training dollars left and it's nearly the end of the year, go on a little book-buying spree. You'll make it easier on your self if you keep a running list through the year.
A Wildcard: Developer Tools
I'll offer one last piece of advice on how to spend that training money. This one doesn't really fit into the jar metaphor because it's something of an "outside the box" suggestion.
I'm talking about buying certain sorts of developer tools, like a nicer version of your IDE or a productivity add-in. These usually cost in the tens or hundreds of dollars, making them an inexpensive thing to propose to your employer.
Some employers may (accurately) point out that buying software isn't "training." But you might be surprised. Some will reward you for creative use of the budget and happily spend the money.
Don't Neglect Your Training
Whenever developer ask me for career advice, I emphasize the importance of owning your career. You work from 9 to 5 each day, writing software that adds value for your organization. You'll naturally learn some things as part of that effort, but I wouldn't settle just for that.
Your employer has no particular obligation to train you and to keep your skills competitive. You need to do that, by keeping up with trends and picking up new skills. And you need to do that whether your employer offers you help or not. So if your employer does offer you this help? It's an absolute no-brainer. Use the jar metaphor to spend every penny of your training budget just as you'd contribute to your retirement savings to match your employee contribution.