Recently I attended a short course on Java. The training company was well known, and the teacher appeared enthusiastic, prepared for class, and excited about the great project we would be doing at the end of the course. After the first few days, however, things began to fall apart. Questions were left unanswered, examples were few and far between, and most important, it all sounded incredibly boring. —A book reading session on Java would have been livelier than this class.

I was lucky to get my tuition refunded. The course didn’t teach me any Java, but it did teach me what to do before the next course: Don’t assume a training institute is good just because it is in business, and don’t assume that the instructor has the practical experience necessary to be an effective trainer.

The “business” of IT training
There’s nothing unusual about the above story. A major problem for many IT training companies is a lack of trainers who are both technically strong and good at teaching. Most competent programmers choose to work in software development organizations because they pay more and offer a defined career path. This is simply “how it is” in the world of professional training.

The ideal training organization creates ideal trainers
The best type of “training organization” would be a department within a software development unit. In this scenario, experienced software programmers would double as trainers and participate in training in phases. For this to work, the software development department would have a program in place that would allow the experienced developer to become a good trainer. This program would stress anything from communication skills to essential training methodologies. Not all software programmers make effective teachers; however, the ones who do will be invaluable to the organization.

Software programmers who participate as in-house trainers possess sound practical experience, which can only benefit the trainees. The role cycle for these programmers to follow is shown below in Figure A.

Figure A
Role cycle model

Once the ideal trainer has taught a class, the role cycle begins again. The programmer would go back on the job and continue gaining practical usage/programming experience in order to remain current in the field. If additional “train-the-trainer” training is needed, the programmer would acquire the training before facilitating another training class.

Is this feasible for your organization?
The in-house training team discussed above is an ideal scenario. Obviously this is not feasible for all organizations. For example, companies that offer only IT training do not have software development units. These companies should consider sending their trainers on projects to gain practical experience. In addition, these institutions should consider hiring expert software developers to teach advanced courses, at least part-time.

Practical experience is one of the best assets a trainer can possess. Every training organization, whether an in-house department or an IT training company, should ensure that trainers have the most up-to-date practical knowledge. Book knowledge without the practical knowledge just doesn’t cut it.

Vivek Lakshman is a freelance technology writer.

We’d like to know what kinds of experience your trainers have had before becoming trainers. Did their career paths begin in training and evolve into IT training, or were they IT professionals that decided to take their knowledge and move into IT training? Please post your comments at the bottom of this page. If you have any topic ideas, please send us a note .