DEV Community

Cover image for How to become a better learner as a developer
Paul Ccari
Paul Ccari

Posted on

How to become a better learner as a developer

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.

Focus on one thing

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!

Take a break

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.

Apply what you learn

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.

Learn In Public

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.

Final Notes

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:

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.

Top comments (5)

Collapse
 
darrentmorgan profile image
darrentmorgan

I can definitely relate to this.

I started out following tutorials and to get an actual app up and running you need to know, front end, backend, database, dev ops and the list goes on. I really got deflated when I had trouble even getting the right versions of python installed and working consistently. Learning about virtual environments, terminal and all the bells, its really overwhelming.

I found what worked for me was following a tutorial to the end and then modifying it into a project I will actually use and maintain. For example, I followed a tutorial on building a crm using django and postgresql. I then changed the items and rolled it out in my own business. This gave me a good insight into actually running something and using it regularly.

I found the feynmann technique is key. It pretty much reinforces everything you just said. If you are nervous about teaching others, teach your wife, dog or cat(or just talk to yourself as if you know nothing about it).

The whole Web dev is very overwhelming, but just understand that everyone goes through what you are going through. If you want this as your career, you have to become accustom to being a life long learner, because that's what it takes.

Collapse
 
swyx profile image
swyx

great piece! (and love the recs at the end, heheh)

the burnout part is so important... need to recognize that learning is an infinite game, and job #1 is staying IN the game. pacing yourself and being ok with the fact that some days you are just not going to make much progress is important... so that you don't give up!

Collapse
 
williamlapa profile image
William Lapa

Great article. It seems to be real on my personal journey as a developer.

Collapse
 
asimaltayb profile image
asim altayb

Amazing article, 👏👏

Collapse
 
lynnlangit profile image
Lynn Langit

nicely written #lifelongLearning