About Me


Develop With Passion® - Developer Bootcamp


How to get started offering your own training courses

Written July 17, 2008 at 16:29 MDT Tagged training

There are a lot of developers out there who are interested in getting into training offerings. This may be something that they have as an immediate to do item, or something that they are currently planning for and want to know the potential steps to get the ball in motion. This post is my attempt to share exactly what I did to be able to get to market and run my Nothin But .Net course.

A little bit of history

I have only been formally teaching the Nothin But .Net course for a year and a half and I have learned some valuable lessons along the way. Before you can start thinking about heading out and establishing your own training (whether it be an individual course or a full blown training company) there are a couple of things that you may need to be able to do before you can even fill a seat in a course.
I ran my first Nothin But .Net training course in February of 2006. At the time only 4 people attended, and they were all part of a project I was working on. I was a little bit disappointed by the turnout but I came to the conclusion that I should be satisfied with the numbers because of one simple fact:
* Nobody knew who I was, so why would a bunch of people I did not know, show up for a class I was teaching?
I realized at this point that some marketing was necessary!!

Get the marketing machine working for you

I started blogging in December of 2006. It was a simple "hello world" post. I barely had any readers and my primary reason for starting a blog was to be able to share what I knew with the community to ultimately increase awareness about the training that I was going to be offering. At the time, DNRTv was just about to hit the scene. I thought to myself "this is a great opportunity" to leverage the audience that Carl already had in place. I did a couple of series on DNRTv and the emails started coming in. I also made sure to point people in the direction of my blog in the hopes of building up a readership. Along with the DNRTv slots, I made a commitment to write a couple of articles that year. This was as simple as buying a copy of the magazine and looking up the editors email address. You will be amazed at how easy it is to throw a suggestion at a user group leader and have them say "OK". The worst they are going to say is "no!!", so go for it!!
With the ball rolling on the marketing front, I stepped up the pace by getting into the presentation circuit and delivered presentations using a completely ad-hoc style where I could demonstrate on-the-fly coding to audiences around the world. There was a strategy to this also:
* Start Local
* Go to surrounding cities/states
* Go global
* Show them what you know!!
During this phase of presentations I made it a point to not wait to be contacted to come and do a presentation. In reality, the only groups I was being contacted by were local and surrounding user groups. "Don't wait for anyone to give you a handout", figure out your plan of attack and go for your goal. I started contacting every user group and code camp that I was interested in talking at. This was not based on the typical "where is a nice place to visit strategy!!", but rather a strategy that would ensure a good breadth of coverage. Since I was very new to the circuit I had to reach out directly to each user group / code camp in question and ask them if I could come and speak. Sometimes the answer was "no", but 98% of the time the user group was more than happy to say "yes, we would love for you to come and speak. Keep in mind, I was not overly established at this time save a few DNRTv appearances, and 1 or 2 articles. Like I always tell people, don't buy into our microwave culture's idea of instant results. Set a goal, work diligently towards it, and have patience.

Figure out your plan for training

Fast forward to February of 2007, exactly a year since I first attempted to run my first course! Remember the point above about patience!! I advertised a course in a city a couple of hours from where I lived (Go to surrounding cities/states) and the course completely filled up. I felt extremely blessed by this and know that it was a result of hard work, determination, and several presentations that I had done to the user group in said city (Edmonton, Alberta). This class proved to be the staging ground for what would ultimately become Nothin But .Net. One of the things I learned in this class is that you have to remain "current" if you want to be able to offer people something that is of value. I realized here that classes with completely open formats can be an awesome venue for allowing people to dig into the topics that they may actually want to see. Looking back on that first course it is amazing to see how the course continues to shape and evolve with each successive iteration. Some have been painful, but each has come with a tremendous amount of learning for me!!
From that course in February 2006 (the only course that year) to the first "true" course in February 2007 I have hosted the course publically more than 15 times and privately 5 times. Each iteration of the course has been very different from the next, because each successive course gets to see new techniques that I have been adopting and using the 3 weeks between the last course.
The above point highlights and important question you have to ask yourself. "Do I want to be a full time trainer or will this be something that supplements other work I am doing". I never wanted (nor do I want) to be a full time trainer. This is why I consult for 3 weeks of the month and do a course for 1 week. There have been times when I have done 2 courses in 1 month, but that has been on a request basis only.

The Heart of a teacher

This brings me to a very important point and question that you need to ask yourself:
* What do I bring to the table?
Outside of the technical offering that my course provides I get much more comments from people on the level of direction and inspiration people glean about life in general. Strategies to not get lost in the sea of information, and charting their own course for learning. As well as how to realize more satisfaction out of their lives in general. I could not share these points to people if it were not for one important fact:
* You truly need to have a heart for teaching, and need to be willing to bare all your secrets to enable the success of others.

There are a lot of people who will start down the training path because they will see big dollar signs and do not truly have a heart for teaching. In time people will recognize this trait and people will stop attending their courses (plain and simple). People can spot authenticity and compassion quickly. They can also spot the reverse of those traits just as fast!!
* How patient are you with people?
* How willing are you to share the "secrets" that you know to enable another person's success?
* How much are you willing to think about things that are going to enable success far beyond the course of a one week venture?
* How willing are you to share your faults and mistakes to ensure that people can bypass those snares in their own lives?
* How willingly can you accept criticism and use it to shape and improve your future delivery (this has been something that I am constantly doing, and am thankful to the many students who have let me know the time I have fell down).
* How open are you to learning from your students?
The above are all valid points that you need to ask yourself as someone who would want to be a teacher.

The Logistics of training

So you have taken care of the marketing and there is now demand for what you want to offer. How do you figure out the where and the what? There are lots of different strategies for this. I always speak very openly and honestly with people about what some of my goals in life are. When my wife and I were 18 and first married we listed down a set of goals that seemed completely unattainable at the time (we were 18 and living in a fourplex with both of us earning a combined salary of about 1200 month. We both worked in a family dollar store!!). This was our "dreaming big" exercise and we did not let out current situation at the time dictate to us the size of our dreams. One of the to-do items was to be able to have me get a job where our family would be able to travel the world together. It was also at that time that we made a commitment to always travel as a family. Save a couple of local trips and 1 or 2 remote presentations, we have held fast to that commitment. So in complete truth, when it comes to the courses, my predominant strategy has been: "Where have we not been that we would like to go?"!! I float the idea for a course on the blog and see what the responses are. If the initial response looks good I go ahead and advertise the course.
For course registration I use acteva.com. It is a very simple service that charges you $100 for each course that you want to provide registration for. They also charge a per transaction fee for credit card processing. Outside of that, the administrative side is very simple. Once people register I get an email confirmation about their registration and the correspondence can begin.
For the venue, this is something that has been a constant learning process for me. The current favorite is to host the course in a hotel conference room. This has become a hit with my course as, because of the day length (often stretching into 1:00AM), people can stay in the hotel the course is being booked. Depending on the hotel and location the venue cost has typically been anywhere between $3000 -$10,000 dollars for the week. This is excluding meals.
I decided early that I was going to ensure that people were well fed during the course of the week. Even though people come expecting to receive meals, they are often blown away by then fact that we often do not hold back when it comes to lunch and supper. We will often, during the course of the week eat at very nice restaurants (time permitting of course). The reason for this is simple:
* Exceed people's expectations.
* It feels awesome to be able to bless people in this way.
One of the other valuable benefits about going out for a meal at lunch and supper is to allow for a change of scenery, which also provides an often inviting atmosphere for people to sit and chat about what they are doing with their lives. There will be many times in a course where people will make a point of ensuring that they sit with a different person for each successive meal, as to ensure that they get an opportunity to chat with as many people as possible.
For people who have been following the course, they will also note that one of the requirements is for people to bring their own laptops. This has served a dual benefit of:
* Not needing to find dedicated labs. These can be a bit more difficult to find and often you are at the mercy of the schedule that they have in place. This can be a problem if your course hours stretch beyond the realm of their operational hours.
* Being able to more clearly demonstrate a build automation process catering to disparate machine setups!! As everyone in the class will typically be coming in with very different machine configurations.
Along with the venue, and meals, it is also beneficial to ensure that you throw in a couple of freebies for attendees so that they can feel like they are walking away with just a little more than the knowledge that you have transferred through the course of the week. Currently in Nothin But .Net, I make sure that people walk away with the following:
* Screencasts of all of the coding that I do during the course of the week. This usually ends up being anywhere from 4GB - 6GB of Camtasia footage!!
* Amazon gift credit (currently $70)
* One of the following choices:
* ReSharper 4.0
* VisualSVN
* Extra amazon credit above the regular allotment.
* T-Shirt/Hat - I survived JP Boodhoo's Nothin But .Net Developer Bootcamp!!
Beyond actually having good material (which is absolutely necessary), the little extras like nice meals and freebies will ensure that attendees will have positive things to say about the course in general (unless they did not like the course!!).
Finally on the logistics front you will be well served if you get your family involved in the process so that you are not stretched too thin. My wife currently takes care of all venue arrangements for the course so that I can focus on other tasks. Delegation is the key to focusing your energies where they need to be!!

In Summary

I hope this post has demonstrated one thing:
"There is no magic formula to get started doing your own developer training course"
You just have to make the controlled, steady steps toward making it a reality. These are simply:
* Determine your motivation for teaching and whether it is something you should be considering
* Know your strengths - This can help you determine what you are going to be offering
* Build Your Brand - Blog, present, write articles, contribute to open source
* Deal with the logistics - Use services like acteva to handle the registration process for you.
* Start the delivery!!
I am hoping that this post can serve as a catalyst to all of the developers out there who are teetering on the fence as to when and how to get started in this process.
Just make sure you remember to enjoy the journey!!
Develop With Passion!!