From the Trenches of the Enterprise Software

Yakov Fain

Subscribe to Yakov Fain: eMailAlertsEmail Alerts
Get Yakov Fain via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

Related Topics: IBM Journal, Java Developer Magazine

Blog Feed Post

Notes of a Traveling Contract Trainer

Training is the best way to market the services that you or your company has to offer

Over the course of my career, I've been running lots and lots of training classes on software development. I still do. Teaching software takes 15 - 20% of what I do for a living - the rest is work on real-world projects.  These days I mostly teach Java and Adobe Flex courses, but it's like riding a bicycle - if you know how to do it, you can ride any bike, really. The last two months were unusually training-heavy and I've been on the road most of the time.

Training is the best way to market the services that you or your company has to offer. other professional services. Usually, I run training for the clients of our company, but once in a while training firms need a contract trainer for a week, and I consider these gigs too - spending a week in the classroom with professional developer may bring you some development work in the future. Hence I usually don't reject any training request if I know the subject and it fits my schedule. Below are some rules that I've learned during these travels. If you fill I missed something, please leave a comment to this blog.

1. Check the courseware - if you don't like it - reject the training gig. You might make a quick buck, but damage your reputation. After you're gone, people will be left with poorly written courseware and they wouldn't remember that it's not your fault.

2. Book your flights on well known air carriers - if a flight gets cancelled, they can put you on another flight. If a company runs only one flight to your destination, find another carrier. Cheaper ticket price can turn into late arrival for training.  

3. While booking the seat on the plane, check with seatguru.com . They can give you misleading information about electric outlets on board, but can save yourself from selecting an inconvenient seat.

4. While people work on a hands-on assignment ask often, "Anyone needs help?"  Some people are too shy to ask and can waste time on struggling with a simple error.

5. Stick to the manual. You can and should share your real world experience, but still, people need to be able to use the manual after the superstar is gone.

6. Ask the lab. technician to do what it takes to have the software installed and  ensure that licenses are not expired. Ideally, they should re-image all disks in the classroom and install fresh software. Have plan B if this hasn't happened.

7. Don't change the software used in the course just because the client uses different one. If the courseware was created for Tomcat server, don't run the class on the client's WebSphere server just because "Java runs the same everywhere". Trying to be a nice guy may turn into a failed training and bad reviews.  Custom training is possible, but it should cost a lot more and has to be prepared in advanced.

8. Don't curse the courseware you are using. Use the rules we used with passed away people - either say good things about them or nothing at all. If you don't see the analogy, I'l help you out - either nothing don't use the courseware, or be nice to it. Instead of saying "I clearly see a bad practice example on page 231" say something like like "I understand why the authors of the courseware wrote it like this - they wanted to give you a quick and dirty example, but in the real-world I'd suggest to do it differently"

9. Speak loudly. If you have a soft voice, purchase a voice amplifier - they have portable wristband ones.

10. In the beginning of the class ask about people's background and expectations from the course. Typically, you'll have a healthy mix of students who really want to learn the subject and vacationers. The latter just use this class as to get a way from their desks. Both categories have equal rights to be in the classroom and your goal is to make sure that they like your class and  want you back in the future. I can't give you a concrete advise on how to do it - you'll have to figure it out on your own.

11. The chances are that on the introductory courses some people will state that they already use this software for a couple of months. Just ignore these statements and teach a class as if everyone is a beginner. Don't be afraid that these couple of people will get bored. They enrolled into a 101-level class and have to find a way to enjoy the show.

12. Respect your students. They are fellow software developers that just happens to need a little help in a particular subject area. Remember, you are not a teacher, you are instructor.

Good luck!

Till the next blog titled "How to attend software training".

Read the original blog entry...

More Stories By Yakov Fain

Yakov Fain is a Java Champion and a co-founder of the IT consultancy Farata Systems and the product company SuranceBay. He wrote a thousand blogs (http://yakovfain.com) and several books about software development. Yakov authored and co-authored such books as "Angular 2 Development with TypeScript", "Java 24-Hour Trainer", and "Enterprise Web Development". His Twitter tag is @yfain