Learning how to learn

It's very easy to get overwhelmed with all the new things you constantly have to be learning as a programmer.

The JavaScript community has been talking a lot about fatigue lately, and one of the things I keep sharing is a quote that I read not too long ago (although I don't know who to credit it to):

"The only constant is change. Teach yourself how to learn new things faster and it won't be so bad."

Good programmers aren't defined by their ability to use a particular language, framework, or tool. One of the skills that makes for a really good programmer is their ability to pick up new things fast and run with them.

As it turns out, learning is very much a skill, and it's a skill that you can work on and improve. You just have to continuously be challenging yourself to figure out things outside your comfort zone.

Learning from others

When selecting technology, it's often the smart decision to pick the tools that have a community of people around them.

Community means that you have people iterating on problems, finding solutions to all sorts of problems, and sharing all their knowledge with one another.

Community is an opportunity for you to learn. Because you will learn far more from others than you will on your own.

However, learning from others doesn't just happen, it requires concentrated effort over time. You need to be consciously trying to learn in order to learn.

This is where it becomes a bit counter-intuitive.

In order to learn from others, you can't rely on them. Meaning you need to take their knowledge and become self-sufficient with it.

Oftentimes when you have a problem, it's tempting to go straight to the people with the answers. But trying it for yourself is an important step to understand the problem better. It forces you to look around more. To dive into code and figure out what's happening.

If you can't solve it yourself, reach out to others and guidance. Don't seek the answer, look for the way to get there. When you're given the answer, ask how they arrived at that answer.

Sometimes you'll be able to solve the problem on your own. Which is a great feeling in of itself. But even then, you should take your solution and go talk to others about it, find out what they did. That's when you can get into a discussion about opinions, you can talk about problems more abstractly, and that is really valuable knowledge.

Don't be afraid to solve problems on your own. It's a valuable skill to develop.

I struggled with this for a long time. My first step to solving any problem was to search the internet for the answer or ask a coworker. But that only hurt me. The day that I stopped searching for the answers and started coming up with my own was the day that I started really growing as a developer.

Each problem should be easier to solve than the last as you train your ability to learn and understand.