How to beat learning paralysis?
Tags: beginners, productivity, programming, webdev
Published: 2021-02-23 04:42:33

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.

# Too much info there...
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](https://blog.david-salomon.com/its-time-to-upgrade-moving-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

## 1. Start with the end in mind 

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?

It is very common to start taking many courses without having the real objective of using that knowledge in the future. An answer like "I will learn CSS and JavaScript because I love web development, I am very visual and I want to get a job in a big company making websites dynamic" is very punctual and objective.

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.

## 2. Create a learning cycle

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:

### a) Know what you will learn
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.

### b) Learn by doing
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.

### c) Practice what you have learned
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.

## 3. Eliminate the perfectionist in you

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.

## 4. You will never know everything

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. 

As well as the changes in JavaScript ES6 or going from positioning elements in web pages using HTML tables or absolute and relative positioning in CSS and not to mention flex and grid.

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.

## 5. Find a team

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!