This article was inspired by an article from Simple Programmer, The Joel Test For Programmers. In his article, Jon Sonmez asks “Do you do something to increase your education or skills every day?”
Learning new things is one of the joys of doing software development. It is also a necessity if you are going to make a career out of making software.
Thus my question to you, do you have a training budget? If you work at a company, does your company have a training budget for each employee?
Training At A BigCo
When I started my first job after college at a BigCo, the company had full time people on staff whose job it was to train the employees of the company. At an early meeting with my manager I was informed that it was company policy to require software developers to take at least 40 hours of training a year. Each employee had a training plan that would be part of their annual review.
Most of the training courses lasted at least a full day. Taking the training involved taking time out from the regular work day, going to a different building at BigCo’s campus and sitting in a classroom with other employees and an instructor. One of the valuable classes I took and still use to this day was a one day course on makefiles. (If you will be developing using the Android NDK or PNACL plugins for Chrome, you will be compiling like its 1976.)
Times have changed. Corporations have engaged in successive rounds of cost cutting. Imagine the cost to the company for the live training arrangement. The company has to pay the salary of full time trainers, the salary of the trainees and absorb the impact to project schedule.
The BigCo I worked at had a round of layoffs. Training budgets were cut. The plants in the office were removed and the service contract for the care takers that would water the plants was canceled. The art on the walls of the office was sold. (Be worried if the company you are at starts selling the art that hangs on the walls).
In contrast to full time training departments at big companies, online education has taken off in a big way. There are plenty of online courses that can be taken at your own pace without having to travel. The lecture portion of these classes is usually prerecorded.
Prices for online courses vary. From free to $200 a month or more. From what I have seen, as the price increases the training becomes more structured. The classes will include different levels of interaction with instructors. This interaction can be in the form of office hours with text based chat as well as projects that are graded by staff.
The key take away for a software developer today is that there is plenty of low cost training available. It could be as simple as asking your manager “Is there budget for training?”
Making Time For Training
If training is important to you, you will make time for it. I prefer to get up an hour early to get training done first thing in the morning. Sometimes it is convenient to download training videos and watch them over a lunch hour. If the video doesn’t contain a lot of visual information the audio can be stripped and listened to just like a podcast. The point is that there are lots of ways to find the time for training.
Portofolio of Projects
Do you like to learn new things? Often the best way to learn something is by doing. That is why training courses that offer projects are more valuable. If you are taking the training in order to finish a side project, it is not as important if the course includes projects.
The projects that you complete during training can become part of your portfolio and serve as evidence that you like to learn new things. If the projects are smaller they can become part of a developer’s sketchbook.
An IncompleteList Of Training Sites
I have compiled an incomplete list of training sites to give you a sampling of what is available.
- Egghead IO
- Plural Sight
- Front End Masters
- Ruby Tapas
- Rails Tutorial
- Vim Casts
- Daily Tech Video
A training budget is an investment in your career. What if your company doesn’t offer one to you? I will leave you with this quote (I can’t remember where I heard it.)
BigCo Executive: What if we offer training to all of our software developers and they leave?
BigCo Manager: What if we don’t and they stay?