It’s common that we as developers have struggled while trying to learn something new, no matter how easy the new concepts were. It’s possible (and I’m quite sure, very common) that you might have had a tedious experience in the awesome world of learning.
I am a 19 year old self taught frontend developer at Maniak and throughout my coding learning journey I am convinced that I have found a “recipe” that boosts you up to learn faster. At the moment that this post is published I have had the opportunity to strongly contribute in around 9 different projects, being proficient in what I had to do on those, and currently I am kind of leading one.
In this post I will give you some tips according to my experience that have helped me to learn as fast as possible. These tips will be oriented to web development but I am pretty sure that they are applicable to anything that you want to learn. First of all:
Don’t assume anything, question everything
This is a fundamental motto for any kind of learning. It’s super simple: don’t assume you already know something. It is a good practice to consider the possibility of forgetting or having missed something. We know that a topic can be either simple or extremely complex depending on the level of expertise you want to reach; so if you find weird, complex or unknown words or concepts, take the time to learn more about it and apply what I call the references tree iteration.
Iterate all over the references tree
Okay, you might be wondering what “the references tree iteration” is. Let’s call it RTI from now. When you read an article, you might come across a concept that you do not understand. It might be necessary to go and read about this particular concept, before you get the whole idea of the article. Reading about THAT concept, you might come across something else that you don’t understand; and so on. However, if you’re not lazy and you follow the trail to where it ultimately leads you back, you will realize that everything is connected and you will have gained valuable knowledge.
At the beginning it might seem not to work, but making it a habit will make you a better learner as time goes by.
- I suggest to use the RTI when you are an autodidact and you don’t have any syllabus.
- What I call RTI is not an official/standard proven methodology of a correct way of learning. It’s just a practice I have been applying through all my journey of web development and seems to have worked for me
Read the whole article, documentation or post
If you are like me, you could find reading ALL OF THE INFORMATION in a source (like a post, an article and even a book) tedious. I was always lazy at reading, and when I was trying to figure something out, I didn’t even read 40% of the available information. Reading the whole source will guarantee you are not missing a key topic, concept or requirement you need to UNDERSTAND the concept; which is what we are looking for when we are learning, isn’t it? Try to improve your focus.
Be in a playground
We all know that knowledge is a fundamental part of skills development but, just as important as acquiring that knowledge, is practicing. Practicing will transform that knowledge you have acquired into a skill.
Some of my suggestions in this case are:
- Create a playground environment so you can play with everything you’ve learned. This is fundamental because it makes learning new things easier.
- Challenge yourself. A couple years ago I barely knew any programming. I couldn’t find any real use for the knowledge I did have. What I decided to do was to create my first project. Even though I was aware I wasn’t able to develop it completely yet, having a clear goal in mind helped put my mind in order. As time went by, and without thinking about it, I became more fluent and I learned faster.
- Take your time. Something you have to be aware of is that learning something won’t take a day. It’s preferable that you spend 10 days learning core concepts of a new technology, than last a day after having rushed a lot of articles, documentations and even courses without knowing required concepts to be in a higher level and get frustrated.
What’s under the hood?
Note: I am not saying that using libraries is bad or that they are for people who don’t know how to fix or build a feature from scratch. Most of the times (and even more frequently when you’re working for somebody), it’s better to use a library to save A LOT of time and not worry about maintenance.
See other’s work
Seeing other people’s work has a lot of advantages, but the most useful one is that you get to experience another perspective. Other people have different knowledge, skills and ways of doing things than you. If you develop the ability to analyze what other people are doing and thinking, it opens your paradigm and makes you better at approaching problems from several points of view. I could say I have learned a lot from having read other’s code and for getting involved in projects in a high phase of development. Working with more experienced developers sets a high bar for your own expectations.
In conclusion, I encourage you to push yourself to clear those difficult concepts that programming often seems to have. Learn a lot from your partners and colleagues, and enjoy the journey. I am pretty sure that if you apply these post tips you will boost your knowledge and skills.