Stop letting people tell you how to learn

This is my first post on dev.to but I really like the platform so I thought it'd make a good place to make this slightly charged post.

Developing software is an ongoing battle against the enemy of time. If you were a web developer 5 years ago, and decided to return to the industry in 2018, you'd find that it is no longer the world you once knew.

Everyday new tools, languages, and standards are being established, because of this it's easy to feel like you've slipped behind or the skills you once learnt are no longer relevant.

With all these new tools, there is always a learning experience for beginners that can vary wildly between 'easy to pickup' (Python) and 'terrifying' (C++). This leads to the inevitable question that is posted to sites...

"What is the best way to learn [INSERT TECH HERE]?"

The Problem

I recently read a thread on a forum on the best way to learn React Native, a technology I am very familiar with. There were a couple of answers which instructed the wannabe cross platform developer to "Learn modern JavaScript before you start React Native". This sounds like a very common sense answer, React Native is written with JavaScript (for the most part) so good knowledge of the foundations will lead to you being a better React Native developer. However, I was learning React Native about 15 months ago and went straight in with no prior JavaScript knowledge at all. I had done some Android development in Java but that was pretty much as far as it went.

I didn't know it then but this was absolutely 100% the correct way for me to teach myself React Native. I had always found self teaching a really difficult thing to do. I have read books, watched courses but nothing ever seemed to stick in my brain. I now realise that for me personally there is only one way to teach myself something from scratch... make things!

For me, the best way to learn something new is to just jump into it and then I figure out things as I go. Most recently, I'm teaching myself Go for my big final project at University and I wanted to split my code into multiple files/folders but Go is not like JavaScript, where you just stick export in front of the function you want to access from somewhere else. It turns out you have to capitalise the first letter of the function. That may seem like something you'd learn in the first few pages of a book but now I know for certain that I won't forget how to export a function in Go.

The Point

Only one person knows the best way for you to pick up a new skill... You!

So take the StackOverflow answers with a grain of salt, experiment with different learning techniques and don't forget to have fun doing it!