In the first part of this article, I discussed some ideas regarding training template builders to program, how to set the scope of the training project, classroom and class setup issues, and splitting the class. In part 2, I’ll focus on the trainer and a few things a manager or project manager needs to address regarding the students of the class.
Finding the Right Person to Write and/or Give the Course
I mentioned earlier that a standard programming class is usually not oriented toward people who know little or nothing about programming. For example, course materials might tell students that they can use something like an array but don’t say what an array is.* Training courses should be prepared and presented so that everyone comes away understanding the basics of what they need to know. This means that the course has to explain any terms that might be new to the students and not assume that people arrive with a considerable amount of pre-existing knowledge.
Bottom line, a good trainer is someone who is “bi-lingual” in a sense. Good trainers must be proficient enough at writing programs for the particular system that they understand what they’re doing, but, at the same time, they must be able to translate what they’re doing so others, less proficient, can learn from it. Do not assume that the most experienced programmer can teach better class than one with less experience. Here’s a tip: If you’re the manager or project manager, and if you aren’t a programmer, talk to the programmers to whom you plan to assign this task and ask them how they’d explain the concepts and have them give you an example. If you can’t understand a word they’re telling you, they’re not the right choice. In fact, even if you don’t know anything about using the system, at some level, you should understand some portion of what they’re saying.
Another issue to consider is that some people are able to handle more students than others can. Personally, I’ve never had to deal with more than 20 students, and that’s a stretch. The more people you have in the class, the less hands-on help each individual receives, and the less likely all the students are to finish the class with all the knowledge they need.
Furthermore, good trainers know how to be firm with the class. For example, sometimes, someone arrives an hour late and wants the trainer review again what was taught before he or she arrived. The trainer needs to be confident enough to postpone this one-on-one review until the other students are on a break. Another student will want to actually start doing their real-life programming work during the class. The trainer may want to say something about how to begin the “real” task once the training is over as other students may be likely to find these comments useful and interesting. However, working through an individual’s program with the entire class, or working solely with one individual instead of helping the rest of the class cheats most of the group. Remember that this class is for the benefit of the entire group, and special topics and individual consultation are typically best handled later. If the trainer you have selected is not experienced with this situation, make sure he or she knows what to do in case it happens.
Take the Hard Line
If you, as a manager or project manager, have influence on the students, make sure they schedule and actually take the class. Some students will insist that they don’t want or need to learn to program. If they need this skill, insist they attend.
Also, insist that they stay until they finish every exercise. Some students will feel frustrated with the class setting and will find excuses to leave early. If they don’t stay and learn the skills during the class, they’ll have to tie up a colleague’s time and effort later, when they call for help. All this defeats the purpose of the class. Also, class exercises should be developed to cover the types of work that the students will encounter, i.e., the exercises should directly correlate with what they need to know.
Conclusion
Template builders tend to be intelligent people to begin with. Although some of them might shy away from the programming tools, if they’re given some training in the right format and in small enough bites, they can learn it. Some may eventually even become programmers.
* Definition of an “array” for those that don’t know: An array is a collection of information saved in a temporary place so that it can be used in a program.
|