Before taking a course...
I discussed getting up to speed with a new programming language several months ago. I thought I would follow up on that theme by relating to you the experience an associate of mine had a few weeks ago with a formal training class he took at a Microsoft Certified Technical Education Center (CTEC).
My associate, let's call him "Jim", is a Visual Basic expert, and he had spent some time learning Java on his own. He decided to spend a week in a Java fundamentals class being offered by a CTEC with whom he had taken several enjoyable Visual Basic classes. The instructors at this CTEC had always impressed Jim. Previously, in addition to teaching the material, these senior developers and consultants were also able to bring their real-world experience to the classroom.
For the Java class however, Jim was a bit disappointed. Although the instructor was knowledgeable about the subject matter, he readily admitted that he had no professional Java development experience. This lack of real-world experience became apparent when many of Jim's questions about real-world issues of speed, style and deployment went unanswered. All in all, Jim came out of the class not knowing much more than when he went in. As a professional developer, Jim wanted to come out of the class with some professional tips and guidelines, and that's not what he received. Still, I think Jim got what he deserved.
I chided Jim for failing to heed the 4-step checklist that I run through prior to taking any formal classes. For your reference, here it is:
- Know your expectations. Jim took a Java fundamentals course and he probably should have been in an advanced course. Beginning level courses are more easily staffed by instructors lacking in real world experience.
- Know your vendor. Jim took a Sun Java course at a Microsoft Certified Technical Education Center. Jim should have asked himself why a CTEC would be offering a Sun Java class to begin with. If he had done some checking, he would have found that the course he attended was the first Sun Java course the CTEC had ever given. Although this fact alone did not cause Jim's disappointment, it was a contributing factor.
- Know your instructor. You have the right to know in advance who will be teaching the course, and what their background is. Prior to taking any course, call the vendor and ask for the credentials of the instructor. Ask how many times they taught the class. Ask what real- world experience the instructor possesses. If real-world experience is important to you, and the instructor has none, then you can either find another vendor or wait for a class with another instructor.
- Know the curriculum. In addition to obtaining information about the instructor, ask for a detailed outline of the course. You should also ask if ALL of the material in the outline will be covered (some instructors 'drop' material). You can also ask to examine the course materials ahead of time, and perhaps even sit in on a session of the class for a few hours (if it's a multi-day class, choose a day other than the first day to get a better gauge of the class pace and activity).
Following my checklist is a great way to avoid surprises and to get the value for your training money that you deserve.
Written by John Smiley, MCP, MCSD and MCT, author, and adjunct professor of Computer Science at Penn State University in Abington, Philadelphia University, and Holy Family College. John has been teaching computer programming for nearly 20 years.
John Smiley is president of Smiley and Associates, a computer consulting firm located in New Jersey.