Thank you for contacting us. We will get back to you shortly.
May 06, 2013 - by Mr. Max Bruning
Talking with Brendan Gregg and Deirdré Straughan of Joyent last Friday, we thought it would be a good idea to blog about training that Joyent offers, and a bit about how we do training differently from what a lot of people have come to expect from corporate training.
Over the years, I have heard the following from many students:
This gives corporate training a bad reputation, which is a shame because people miss out on good opportunities to learn new skills and to develop their own career.
In this blog, I'll start off by discussing what makes for a good instructor. Then, I'll dive into what makes for good course material and labs. Finally, I'll conclude with a description of what we are doing with respect to training at Joyent.
My view has always been that the instructor makes or breaks the course. A good instructor can make up for shortcomings in the material presented, and can either answer questions, or show students how to find out answers for themselves. Great material cannot make up for a poor instructor. Basically, if the material is good and the instructor is not good, students would be better off reading the materials and skipping the class time. The best situation is to have both a good instructor and good material.
I tell my students that if they want me to read the course materials, they can read them on their own, I'll take a few days off, and we'll get together at the end of the class for Q&A.
So, what makes a good instructor? A good instructor should:
Have insider knowledge: When delivering a product-related course, a good instructor needs insider knowledge: either they currently work for the company that develops the product, or have in the past and stay up to date. This means they will be familiar with:
Demonstrate: Show as many live demos as possible. This is useful for a couple of reasons:
Answer questions: Either by knowing the answer, or by showing the student how to find out the answer. I have had many students who tell me they learned as much from watching me figure out the answer to a question as they did from the material itself. Of course, the instructor (and the class) must decide if the question is within the scope of the material that is being taught.
As for course materials...I prefer to use documentation whenever possible in lieu of formal course notes. This documentation is usually online, as manuals or a wiki. If the documentation is good, there should be no need for course notes, aside from labs. This documentation is also updated, and stays relevant, long after a printed courseware manual would become out of date.
At least one place I did training had a whole team to do documentation (which was quite good), and typically used contractors to write courseware. The courseware always lagged behind documentation, and was never as complete or accurate. (I was told it was done this way because people couldn't teach from the documentation, but I think that if you can't teach from the documentation, either the documentation is not good, or you can't teach). Of course, if there is no documentation, or the documentation is not complete, you need course notes.
Good labs are much more useful than lecture notes. These should be as hands-on as possible, and should clearly demonstrate specific skills or concepts being taught. Lab work should not only reinforce the subject being taught, it should also extend student’s knowledge. Labs should be non-trivial, but should doable within the time frame of the course.
Different people learn in different ways. Some people want to listen, some want to read, some like diagrams, some like code. In general, the best way to learn is to do, (see Tacit_knowledge). This is why good labs are so important. During labs, students start to find out what they did not know. One of the best classes I taught was when I was sick, so gave the students extra lab work instead of spending as much time lecturing.
I like diagrams. They show the different components of some piece of the systems, as well as interrelationships between them. I generally like to have the finished diagram in the material, but build the diagram from scratch on a white board, explaining each piece as I draw. For code, I like to show pseudo-code, but will dive into the actual code for specific questions.
Good course materials tend to be organic. That is, they change over time. Each instructor will typically have their own approach to teaching the material. The important thing is that the students learn the objectives that should be specified at the beginning of the class.
Currently, we are developing a set of approximately 28 different courses as part of a full certification program. Some of these courses have already been written and taught (see here for a list). I'll write more about Joyent certification in a future blog post. Students who have already attended Joyent courses will get credit towards certification. One of the goals for certification is to produce people whom companies like Joyent and others would want to hire.
With our certification program, we want to train students in all aspects of the cloud (not limited to Joyent). Training and certification is a means to further your career, and it’s a good idea to have taking at least one training course every year. Don't take it lightly.
If you are a manager, allocating at least one training class per person a year keeps your staff current. This can be cost effective means to grow top talent. Not training them (eg, at risk they would then leave for higher paid jobs) can be worse:
“Zig Ziglar once said that there was only one thing worse than training (or growing) your staff and having them leave, and that is not training or developing them and having them stay.” (via Alaister Low)
If you’d like to take courses at Joyent, check whether your company has a training or staff development budget. Most larger companies do, and it’s generally "use it or lose it", so they’ll be looking to spend it. Smaller and newer companies may not be accustomed to the idea of paying (and you taking time out of the office) for training, but, if your company is using the cloud at all (and, soon if not now, it likely will be), there’s a good case to be made for training.
Instructors at Joyent are very experienced trainers, and they have also done and continue to do engineering work on products that Joyent sells and/or uses. We have very good rapport with the engineers in the company, and have extensive experience doing development, support, debugging/troubleshooting, performance analysis, and training. We do extensive demos, and spend a lot of time with course labs. Basically, Joyent does not use instructors who do not fit the model of what makes a good instructor which I described above.
Next week, I'll probably return to more technical stuff. As usual, I welcome any comments, questions, or suggestions.