Have you been studying for months or maybe years in several courses and you think that you don't know enough to create a project or look for a job? You have surely fallen into learning paralysis.
The Internet has been one of the best inventions in history, with it, we can establish communication bridges over long distances. This makes it easy for the information to be disseminated. There is so much information on the internet, that you can even get bachelor's or master's degrees online, something that we didn't expect 20 years ago.
You will know me as the guy switching from a non-tech job to a developer career, and it was overwhelming to know that there's a lot to learn when it comes to programming and web development.
After I completed one topic, I immediately opened the next one and when I finished it, I didn't longer remember many things about the first one.
Being an eternal student can be shocking, but I realized that filling us with knowledge is not enough if I don't apply what I've learned, I understood it and that is why I want to give you five recommendations to get out of the trap of learning paralysis
When studying a topic, you should set an objective, which will help us to check if we are learning or not. When you start a new course, you must ask yourself the question: Why and what do I want to study this course for?
I'm not saying it's wrong to take courses just for general knowledge (such as binaries or history of computers) but you would use more of your time focusing on the ones that align with your highest priority.
I am a self-taught student, (thanks to freeCodeCamp, Udemy and many other online platforms) so I apply a special process to the courses that suit my most important objective. This process consists of three parts:
Do some research on what you are going to learn, you can read blogs about the subject of the course, watch videos about general concepts or read the comments, and description of the course, it will help you understand if the course will interest you, so you will meet prerequisites and you will not get from scratch to the first class.
In programming courses, it is very important to follow the teacher with code, as you can experiment while the class is reproduced. Apart from that, you might want to pause and you can experiment with other values, attributes, or formulas. Besides, all your senses participate actively when practicing while you play the class.
At the end of the course, I bet that only the basic topics to be learned are taken, but you can get a lot out of it if you create a project from scratch applying what you have learned because that is the true practice. You will find yourself locked in bugs and you will have to do a lot of research on why a piece of code does not turn out the same as the teacher said. You will encourage creativity and you will be able to exercise your knowledge.
Many times I fell into the trap of waiting for everything to be perfect (the project, the technique, the time) to be able to do things. In the end, I realized, that perfection never exists, there are always areas of opportunity in which you can improve.
What happens with being a perfectionist is that we wait so long to have the perfect project, that in all that time we spend studying and not practicing because you must understand that this will be the only way to reach perfection by doing.
My recommendation is that you start with small projects in which you apply what little you have learned, which will increase the dexterity and abilities for larger projects. Those projects will never get better if you don't start practicing.
There comes a point where you want to learn all the technologies, to be able to do a project. Interestingly, when you finish mastering a certain language, an update comes and you will have to get used to new things.
The lesson of this tip is to focus on what is most important and learn it. General knowledge is good, but that kind of knowledge will not help you achieve your professional goals if that is what you want. You need to focus.
Also, trying to know everything can lead to frustration when you realize that you won't be able to. So focus on what you have decided, to meet your goals.
A team helps you integrate knowledge, since we have learned that you will never know everything, other people will know how to do what you cannot, so by building teams involved in a specific field, you can put together bigger things.
Networking is an important skill today, you should know that if you want to do something great, you can't do it alone.
For example, when designing a website, of course, you can do it yourself, without any help if you have frontend and backend experience, but if you want to scale, it will take forever to get your project done and the to-do lists will seem endless. On the other hand, by distributing tasks among the members of your team, it will be much easier and you will be able to deliver a better job by having known how to focus everyone's knowledge on specific branches.
If you keep learning, create your group in social media or community in Hashnode, where everyone is interested in technology. Create imperfect projects, focus on the little, set goals and create your learning cycle.
There are no excuses to continue falling into the eternal-student trap, close the book and start working on it!