Why Udemy?Udemy is an online platform where everybody can publish their video courses. You'll find a wide variety of topics and instructors who mostly teach in English, but also e.g. in German, Spanish, Chinese or Arabic. There are very many software technology related courses, but also about self-improvement, human languages or management practices. Most of the courses which I have found so far are not academic, but geared to real-world. And of cause, according to the broad variety of instructors, there is also some variety of quality, yet the majority of courses is of good or even great quality. The business model does not urge you into a subscription, like many similar services do, but is based on a one-time fee for each course up to several hundred US$/€. There are frequent sales where you can get many courses for just about US$/€ 11 to US$/€ 20. And you get lifetime access for this fee, even on the sales, thus you can always stop and come back later to a topic, which is pretty great. Even better, you can download most (maybe even all) courses to your Android tablet or iPad and watch offline, e.g. on a train, on your couch or with headphones in a library. Theoretically it also works on smart-phones, but their screen is too small to actually use it. It's possible to vary the playback speed from factor 0.5 to 2, thus you can rush through parts which you already know from other sources. Many courses also have quizzes or exercises attached. A few even offer exercises where you can upload your solutions for peer evaluation by co-students. Of cause, for that price no one can expect the instructors to check your exercises. There is also a Q&A section to each lesson and many of the instructors do answer your questions, some even super quick, also co-students can answer, of cause.
How to select courses?First, find out what you want to learn: What do you need for your career? What are you intrinsically interested in? Maybe you have some have side-project in mind, then try to combine these two areas! Then use the search on Udemy and find available courses, apply filters (e.g. for language) and appropriate order, e.g. sort by rating. Also decide, in which depth you need to learn this topic:
- just technology overview => 1-5 hours
- some foundation => 5-15 hours
- severere workshop => 15-30 hours
- or boot-camp => over 30 hours
How to learn?First off, limit your parallel learning topics. I sometimes have up to 5 Udemy courses "in progress" at the same time, but in that case, multiple of them are about the same topic, otherwise it's at max 3 for me. If you try more, you won't make any progress anywhere, feel frustrated and might even learn less. Of course, also what you do else where goes into this limit. Use fast playback (I usually use factor 1.5) to watch appropriates parts on a train or on your couch, maybe even on a beach if your screen is bright enough ;-) On the other hand, some lessons need you to be done at your computer. In that case, I often pause while coding-along, so I make slower progress. Depending on the topic, it turns out that I need about exactly the stated time for the course up to almost 2 times if I need a lot of hand-on work. Also do some extra research and tinker around with the technology to find out how it really works. This is the actual learning! Do the exercises, but only if not too boring, then it's a waste of time. Better alternatives for this case are: amending the lessons code to try other cases, write tests, refactor the example code! The Q&A sections attached to each lesson are also a valuable source for deeper insights. Can you answer your co-students questions? Then do so! You can't? But maybe you can find it out, so do some research! That is actual learning and can be a lot of fun! Optionally you could create flashcards (spaced repetition is king), I also fill my #swDevTermOfTheDay project with terms I've ran across. After taking the course, write a review or even an article in your blog to reflect about what you've learned. I regret that I have not done that from the beginning. Don't make the same mistake! Then, create your own little side-project using the newly learned technology; if spaced repetition is king then exercise is queen. Later, come back to the topic repeatedly, e.g. use your flash cards or integrate the previously learned into future side-projects again. Best of course would be you could apply it in your job, right away. These are really the key to learning: actually apply what you have learned and repeat in elongated periods. [added on 2018-03-07] On last important hint: In most technology courses you need to install specific software at the beginning. I strongly recommend to try to use the same versions, or as close as possible, otherwise you mights soon run into severe problems following the instructions. This is especially a problem if you use default (current) versions with npm and other package management tools. Also pay attention to versions in GUI screens, maybe by now the default has to changed to something way too recent which does not match the video anymore. You can always later try a new project with current versions or try to upgrade your test projects; that's a good exercise by the way!
What are the limits?You will learn what you can generally do with the technologies you've learned about, often that's already enough and you can come back to it later when you really need the details and the how to's. You can also keep this knowledge; unfortunately only if you do some sort of spaced repetition, otherwise your memory is going to fade. But unfortunately, you can only remember most of the "how to's" if you do apply what you have learned, repeatedly, over and over again. On the other hand, what you've learned once, you can quickly re-learn, thus, this is often optional. Now, get on learning!
- Udemy Homepage
- My Udemy Profile
(shows all purchased courses as 'learning', even if not yet started)
- List of My Finished and Current Online Courses
Disclaimer: I have no relationship to UDemy, at the time of writing this article not even published any course on that platform.