In this article I want to discuss different types of training for software developers. Most of what I say here is purely subjective and forms my own view of the best types of training, but I would like to hear what you think on this, including the training resources that work for you..
There are different types of training that as a software developer you can make use of. They are Classroom / Teacher led courses, Online video training, Books (both electronic and dead tree), and writing lots of code and good old experimentation.
Classroom / Instructor Led Courses
I have always had a problem with technical courses where you have to learn in a group. I personally don’t find it an effective way to learn a technology. Don’t get me wrong, non-technical courses like leadership training, personal skills etc work very well as an instructor led course as these are all about working with people, but for technical courses I don’t find them very good. Also they are very expensive, you can end up paying thousands of pounds for a 5 day course and that doesn’t even include travel and expenses.
I do think conferences are a good thing though. I have been to a number of these before including Microsoft’s TechED and find these very valuable as you get to see what new technologies are coming along and mix/socialise with other engineers from different companies and industries.
I am sure people will disagree with me on this and prefer instructor led courses to online videos and books, and that is fine as everyone has different learning styles. Personally I find learning a new technology a solitary thing. I just like to sit down by myself, watch some videos, read some articles and then just fire up the compiler and dig in.