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.

There’s many ways to do this, but I want to focus on a particular one. It’s a bit abstract so I’ll focus on one way that it manifests itself.

Enter Stack Overflow.

Stack Overflow is an amazing tool that we have at our disposal, many question how programmers managed to accomplish anything before it existed.

However, (I believe) this reliance on Stack Overflow gets in the way of people improving their ability to learn. By making every problem a Google search away we’ve removed many of those early challenges when working with something new, and by removing the challenge we lose the exercise to our brains.

I don’t want to sound like some old school “RTFM” type, but the ability to learn new things is a skill worth growing, and challenging your mind to figure out problems that are outside your comfort zone, without looking at a cheatsheet, is the way to do it.

The day I stopped Googling “How to I do X with Y” for every problem that I had, and started trying to figure it out on my own using all the other resources available to me is the day that I started really improving my ability to learn.

This obviously isn’t limited to Stack Overflow, it’s simply a concrete way of explaining this. The real issue is relying on others to solve the difficult problems when you are learning something new.

Stack Overflow, GitHub Issues, Slack/Gitter/IRC, maybe even that person at work who seems to always have the answer: These are awesome resources if you genuinely have no idea what to do next, but going to them as a first step every time you face a new challenge is only going to hurt you in the long run.

I’m certainly not perfect about this*, I work with some of the smartest people I’ve ever met, and it’s easy to go to them for help instead of solving it myself (I’m looking at you Tony and Terin).

Follow me on twitter

*I’m perfect in every other way though… obviously.