By far my favorite way to learn a new subject is to find a well written book or tutorial on it. I have spent many years learning about software development but did not find it to be a true joy until I found Michael Hartl’s Rails Tutorial. I have attempted to watch and follow online courses but have found that I do not retain the information as well. I made a couple of failed attempts to learn Swift using Stanford’s online course but found picking up the professor’s book to be much easier to follow. I found the same be true of learning automated testing with RSpec. It becomes easy to figure out why companies like O’Reilly Media do so well.
Lectures, in-person teaching, and other techniques rarely worked well for me. However the explosion of YouTube and video lectures has been a big leap forward. While I can gleam concepts from lectures I really enjoy being able to rewind and replay videos to understand what the speaker is talking about. Harvard’s CS50 lectures are some of the best that I have watched. A well done lecture can augment learning, but I still rarely find them as good as a book.
The explosion of coding bootcamps, college courses, personal trainers, and other pay for teaching services shows that what works for me is not what works best for many people. I have come to recognize that I am not usual. However this unusualness gives me an advantage. Books tend to be much cheaper than courses and lectures. Unfortunately while organizations are happy to give folks professional development time to attend a course, it can be challenging to convince them to give you time to sit down with a good book.