DEV Community

Discussion on: Just learn a language. Popularity be darned.

Collapse
 
thatjoemoore profile image
Joseph Moore

More than learning language X or framework Y, the most important thing to learn is how to learn. Even if two projects use the exact same language, framework, etc., they're still likely going to have different business domains that you need to quickly learn about.

It takes a lot of time and self-awareness to learn this skill, especially since your most effective style of leaning probably won't match mine. It's also likely that the most effective learning strategy for you will vary over time and from subject to subject, so it's important to, through trial and error, assemble a toolbox of learning strategies.

The best part of learning how to learn is that it's a skill that will also help you in life in general, not just in your career. Both our field and our world are changing rapidly, and the ability to learn and adapt are quickly becoming the most valuable skills you can have.

I've been programming for about 15 years now, and I've learned a lot of languages and tools. I've only actually used a handful of them in my job (try convincing your workmates that using a Lisp is the best solution to their problems. I dare you.), but I have also learned how to quickly identify the things I can learn that will have the most immediate positive impact on my job.

One thing that, as I've gotten faster at picking up new things, has come in handy is the idea of "lazy" or "just-in-time" learning. I don't try to learn every new thing, I just try to be aware of what new things are coming down the pipeline and have a rudimentary understanding of their strengths and weaknesses. Then, when I need to use some new thing, I dive in and learn the relevant parts for the task at hand.

Collapse
 
alephnaught2tog profile image
Max Cerrina

One thing that, as I've gotten faster at picking up new things, has come in handy is the idea of "lazy" or "just-in-time" learning. I don't try to learn every new thing, I just try to be aware of what new things are coming down the pipeline and have a rudimentary understanding of their strengths and weaknesses. Then, when I need to use some new thing, I dive in and learn the relevant parts for the task at hand.

Ooooooh, I really like that.