Human beings are lifelong learners. For a newborn, the initial learning starts in the family. Later on, many of us undergo formal schooling, although these days, homeschooling is also an option. During my school days, most of the subject learning came from textbooks referred by teachers, and the internet was not readily accessible. By the time I graduated, projectors and computers were common in classes, but the materials used by teachers were still limited. This may sound negative, but I believe it is generally beneficial at the school level because not everyone is interested in all subjects; they focus on studying only what is necessary to pass with good grades. In case someone has interest in a particular subject, they can always refer to additional materials.
Learning never stops for hungry people. Books, people, life experiences, and the (infinite) internet can help you learn something new every single day. From past few years, internet has penetrated to much larger audience including elders and less literate people. Mobile phone operating systems with excellent user experience have made this possible.
During my college days when I was coding in Java, I got interested in Java Swing. I was done with Core Java and the idea of developing desktop apps seemed exciting. I wanted to read beyond official documentation so I found a book (probably this). I tried to purchase a hard copy but couldn't find it in any shops near me so I decided to print the entire book from PDF (realised later that it was a stupid idea). This was around 2013-14 so assume two things: there were not many people creating youtube video tutorials, and I had an internet connection with data limits, so it was not affordable to watch videos even if they were available.
Fast forward to 2024 - cloud is new normal for everything. Non-technical people understand technology much more than before. Data packs are cheap and unlimited internet is a minimal requirement, specially for WFH employees like me. But with too many available options, decision making never becomes easy. For example - 10 years ago, I wanted to learn web development using PHP during summer vacations. I joined an institute, spent 3 months and was able to create a website with decent understanding in the end. Today if someone wants to learn a similar technology, they have too many options
Free tutorials on Youtube - Here also you have plenty of options to get confused easily. More importantly, you don't know if the author is really an expert in the subject or just a good content creator. I've learnt a lot from free videos (mostly conferences).
Paid courses on Udemy / similar websites - I've taken some courses in the past. Reviews are mixed and depends on the author. Mostly these are good to get started on a subject. I took a course on elasticsearch few years ago and one on system design recently.
Reading Books - These sound boring now as more interactive options are available. Although the authors here might be very expert in the subject. I've learnt C and Java by reading books during college days.
Build and learn - This method is also very popular. You learn basics of the language or framework and then start building something. You could go through a crash course (blog/video) to learn the basics. Here, you learn a lot of things on-the-fly while building. I learnt Rails in 2015 like this. Some people like this method while some don't. IMO, if you build something and later continue your learning formally, it is good. Otherwise you have only surface level knowledge.
There are many more methods but I think you got a basic idea. Many times, people end up purchasing video courses because they're too cheap and we think that a paid course is better than a free one. One bad part of cheap video courses is that many people (like me) never complete these courses.
The above problem is known as Information overload because despite having a lot of resources but it's still hard to absorb meaningful content. It's harder than before to differentiate between valuable, accurate, and relevant information with respect to less credible or irrelevant information. Although the problem looks complex, but I use these ways to solve it for myself:
Convince myself that learning takes time and I shouldn't expect a 10 minute video to teach me a concept. It's good only for entertainment or for introductory knowledge.
Avoid purchasing courses just because they're cheap. And also, not to purchase courses because everyone seems to know something (very true for DSA/System design courses these days).
Dedicate time for continuous learning to stay technically relevant at work. It's not always possible to spend some time daily so plan as a weekly average.
Spend a decent time in filtering resources rather than directly consuming short content. Prefer books for deeper understanding on any subject.
Subscribe to some free newsletters to stay updated on things I like.
I'm sure you must have faced this issue. Let me know if your problems were different and how you managed to solve them in comments. Thank you for reading.
If you enjoyed reading this, I'd recommend reading a few more: