When I started learning how to code, I looked for many online resources such as blog posts, youtube videos, online courses, and I used to take them and do the same thing they were doing and then jumped to another resource to do the same over and over again. From my point of view at that time, I was learning a lot but actually, I got an illusion of learning, which is when you think you know more than you actually do, you overestimate what you know about a topic when you can only recognize.
So I failed plenty of times and that's OK, it's a part of the process but I decided to do research and learn more about effective learning and here's what I do to counter the illusion of learning and get the most value from it.
Note: We all have our learning style, this blog post doesn't pretend to change your way of learning. I'm only showing you what works best for me during my developer career but I would encourage you to give it a try and see what happens.
When I started learning front end development on my own, I realized that we had a bunch of technologies to learn and I didn't have an idea how to start, so I looked for a roadmap to become a front end developer which is very helpful to guide you step by step but at first, I felt very intimidating and challenging. In consequence, I planned my day to learn basics about Web development, HTML, CSS, JS, and a bit of ReactJS but that ended up making me feel overwhelming during the first 2 months. Each topic contains a lot of content and that was just basics knowledge. In addition, I had a list of several online resources about each topic and I couldn't finish all of them at the end, it was kind of overwhelming. So I would say that you should try:
- Focus on one topic and take your time: You don't need to rush and ignore the fundamentals of each topic even when it seems pretty straightforward, do more research and be curious about why it works in that way.
- Focus on a few learning resources: I would say choose your best top 3 resources you enjoy watching, reading, or listening to.
- Create focused and productive study sessions: No distractions! I usually put away my phone and turn off all notifications and I use a Pomodoro technique to get more out of less.
Pomodoro technique is a time management system that helps to be productive and make as much progress on a task as possible in 25 minutes. You break your workday into 25-minute chunks separated by five-minute breaks. After about 4 pomodoros, you take a longer break of about 15 to 20 minutes. I usually use Forest App to make it work! Try it out!
As I mentioned before, I used to spent many hours studying and even at night, I didn't want to go to sleep because of my enthusiasm and motivation of learning new things. But after a few weeks, I felt less motivated, I had a high level of stress that leaves me emotionally and physically burned out and it seems like nothing you do matters. Later, I realized that it's always good to push ourselves to the limit and do the hard work but there's a fine line between testing your limits and pushing past your breaking point. So I would recommend doing few things to avoid burnout and be more productive:
- Pomodoro technique
- Don't skip out on sleep to get more studying done: Getting enough sleep is essential for good health and well-being throughout your life. Take at least from 7-9 hours and make it a priority. I found so much information about why sleeping is so important here. Check it out.
- Do physical activities: You can start by stretching yourself in your five-minute breaks. Or you start doing swimming, jogging, walking, dancing, etc. Physical activities regulate stress, anxiety and can be a real energy booster.
To be honest, I've watched plenty of videos since I started learning how to code and I don't quite remember all things I studied. Consequently, I ended up wasting so much time because I need to read, watch, research, and learn again and again the same topic I studied before. Why does that happen? Because I didn't build anything from it. It's just simple as that, I used to code along with courses and videos, doing the same thing and when I completed them, I jumped to another course and so on which is commonly called Tutorial Hell. In this way, I noticed that "Output is more important than input" and we can't learn just by watching, so you need to:
- Be curious about certain behaviors: Break the codebase, and make some changes to test it out and see what happens and how it works, and I'm sure you'll learn more.
- Build projects: After finishing watching any course or tutorial, built the project from scratch by yourself now or you can add extra features to the final project but make it challenging and you'll see what you learn. Coding along is not bad, but don't just do that because it brings you an illusion of learning like you won't get any errors while coding and that's not the real world.
I've never been selfish to not teach or share something I do know about a topic to someone but I was very timid and reserved and it might be a consequence of growing in my entire life since school where I used to keep what I learned to myself and be a better student.
However, I recognize that Tech industry is not like that, we have many open source projects that are available to us to read and learn from its codebases, besides that most developers in the community give away knowledge in articles, tutorials, tweets, etc. That's incredible, right? So I would propose you to:
- Share what you're learning on any social media: Not only on social media, you can tell someone what you learned and start discussing it. Or you can take advantage of social media to get some feedback and support from the community! You can start by posting a tweet, then you can create a blog post, an e-book, or produce a video, podcasts. You can try them and see what you like most.
- Don't be afraid to learn in public: It's your process! if sharing in public makes you feel uncomfortable, that's totally fine. That means you're pushing yourself, so keep doing your best and don't blame yourself.
I strongly believe these techniques can help us to be more productive and learn more effectively anything we want and not only coding topic related. It can be cooking, playing a new instrument, anything new we want to learn in our lives. Try it out!
Here are some links related that help me to be a better learner:
- About the importance of quality sleep: Joe Rogan Experience w. Matthew Walker
- How to Learn Anything! For Creatives & Self Learners
- Strongly recommend this book: The Coding Career Handbook by Shawn Wang
Hope you enjoyed it. Thanks for reading!
... As always, enjoy your process of learning 🚀
Feel free to reach out if you wanna chat about anything.