In mid-2009, I sent a large portion of my technical staff to SharePoint training held by a top notch training firm out of Dallas, Texas. The training was held in the Dallas Infomart, which is a large white-and-windowed structure designed – by no coincidence – to imitate the late Crystal Palace that graced the London Great Exhibition in Hyde Park in 1851 and which burned to the ground in 1936. At this time, SharePoint was all the rage in the corporate enterprise technical circles, so as you can imagine I selected this technology as a “must have” skill for my top developers. It didn’t hurt that we had begun development on a web portal solution which used SharePoint’s workflow, approvals, and content management systems as a foundation.
I selected what I felt was a combination of my top technical talent, and those who would likely support the system once it was fully developed and put into production, and searched for training. These folks had very little say in the training – it was selected and approved based on the perceived “need” by myself and senior management. Eventually, I settled on the training mentioned above at great expense to my company. I felt that the training was needed, and represented a very real investment by the organization, which would pay the dividends of better software and faster development in the future – and to a large extend this proved true for my team. However, this came at many thousands of dollars, and was not true for everyone in attendance.
I had sent an abnormally large group to the training class. Out of 20 or 25 slots, my team occupied close to half. The other half of the students came from different private organizations and government agencies, and were also attending – as my staff was -- at great expense to their organizations. I sat in the very back of the class where I could observe (i.e. monitor) my staff, and could also see the screens and activity of almost everyone in the class.
Early into the training activity, it became clear to me that many of the attendees did not seem interested or find value in the class. One small group of ladies, who were working in some capacity for the state of Texas, spent almost the entire 3-day course perfecting their skills at Farmville for Facebook. Hour after hour they grew cultivated digital crops and – I’m sure -- generated pages of Facebook status spam on their friends' pages. In fact, most of the participants from other companies were checking email, surfing the internet, and pretty much doing anything but trying to absorb the training that was being provided. And this class cost the company multiple-thousands of dollars per student!
It is clear to me that selecting employees to send to a pre-selected class using “company dollars” is not the best way to get the most of your staff members-turned-pupils. They may be disinterested in the material. They may not see the value to themselves, their work, or their career. In general, people tend to place a lower value on things which are free, and these types of training activities are “free” to the employees. They pay no tuition. It is simply a “get out of work” day. It's like a mini-staycation, away from work and family. Who wants to spend a ton of energy and focus on a staycation? These problems can be compounded when the classes are pre-selected (or provided as a list of “pre-approved” classes). They are still free. They are still “closed,” in the sense that there is very limited freedom to be creative with one’s own learning and self-improvement.
In addition, there is no obvious benefit for absorbing the training content (ignore for a moment the personal growth benefits). No punishment if the training material is not learned. In many cases, there is no test, no validation, and no understanding of the value of the training. Many times management will ask the employees to review and rate the training. Inevitably, each employee will say in turn that it “was great” and that they “learned a lot.” Who wouldn’t say a free staycation away from the office was “great”? I certainly would.
Software development is a tumultuous and constantly evolving profession. Not unlike the life of a shark, to stand still is to drown in your career. One must constantly train – not just in new technologies, but also in other areas that allow the software professional to think differently and creatively about solving problems. In many ways, software development is a craft that is dependent on the individual skills of the craftsmen (and craftswomen) that create it. In order to understand how to get the most out of training, one must embrace the fact that every developer-craftsman will have different and unique training needs, and that training is only successful if there is some value to the employee, some reward for seeking and accomplishing training, and some way to measure it.
The ideal training program would cater to these differences in developers and allow them to grow along both technical and creative lines; a program with some flexibility toward seeking personal goals, which are both more rewarding and more keenly sought-after. But it should not be completely self-focused study. In order to be an effective part of a corporate training plan, there must be some level of management oversight to ensure that people are progressing, seeking training that benefits the company, and meeting their training commitments. What kind of program would enable these things?
People like games. Playing games is a sign of intelligence, and small children learn much about their world through the playing of games. Even adults benefit from the participation in game-like activities, through which the drive to win enforces learning and performance (think “Trivial Pursuit”). What is it about games that attract people? First, there is a clear goal. It’s always about winning and achievement, but the methods differ wildly. Sometimes games require strong teamwork, and sometimes it is individual achievement. Either way, the game is fixed on a set of clear objectives. With clearly defined goals and set rules, people can find enjoyment at playing – even if they don’t outperform their rivals and ultimately lose. I think this idea of gamesmanship should be taken into the corporate training arena.
What I have found effective in my organization is to define a game of sorts, where each employee is required to collect “points” towards training with a specific point value due at the end of the year. These “training points” would be assigned at different amounts for different types of activities. The activities would be broad categories of training activities to allow the individual developer to be self-directed in the exact training that they pursue. The training point goals are also flexible; so that there is a gradient scale of points required based on the seniority or level of the developer (i.e. architects require more points than junior programmers). The training activities must be approved my management (i.e. corporate management oversight) so that they in some way are applicable to the individual’s job, and then completed and rewarded with point.
For example, let’s pretend that a junior developer needs 100 points by the end of the year. We may define points for categories of training, such as “posting to the company blog is worth 1 point,” or “reading a technical book” is worth 10. Maybe even achieving a certification or presenting a “lunch and learn” to their fellow developers would be worth points. Assume that the junior developer is really interested in UI development, and wants to read a book about how people perceive color, so that they can learn more about laying-out and designing the main login pages for a large application. This is not a “technical” book, in the sense that it is “C# Programmer’s Guide,” but it is related to the job, so the manager approves. The employee reads the book, records the points, and now is 10% completed towards their year-end training goal. Did the employee get something out of it to help their career and along the lines of their interests? Yes. Did the company get anything out of this? Yes – a programmer better able to put together a top-notch login page. How much did this cost the company? Zero dollars (excluding the cost of the book, of course).
The nice thing about this point system it is becomes very easy to identify those employees that are not seeking self-improvement through training. Although the points should not be used as an absolute system of judgment, it can help to initiate a conversation between a manager (or the team) and the individual. “Why are you not seeking training? Why are your points so low midway through the year?” It also makes it easier to identify high achievement, and take this into account during year-end performance reviews or when increasing merit-based compensation. I usually set the expectation that individuals should be plus-or-minus 10% of their training point goal; anything under that does not meet my expectation, anything over that exceeds it. However, it is up to you to put into place a point system and review process that makes sense for your organization.
Now, is “the most effective budget for training is nothing”? Not really. It is better to have an unlimited training budget and to spend lavishly on your employees (and have the revenue to support it!). But I feel that the best way to put together a training plan for technical staff is to start with a budget of $0 and construct a program which follows the lead of the developer, and does not force it. That allows for creativity in learning and flexibility in achieving one’s own training goals. And then any training budget after that is gravy.