DEV Community

Cover image for 10,000 hours? Nope. Learn something new in 20!
emTr0
emTr0

Posted on • Edited on • Originally published at emtr0.dev

10,000 hours? Nope. Learn something new in 20!

This post was originally published on my blog.

I recently watched this TEDx Talk. It was really inspiring. I'm learning JavaScript right now and I'm 9 hours into the JavaScript Core Language path at Pluralsight, which is about 14 hours long. One of the key things mentioned by Josh Kaufman (@joshkaufman on Twitter) was those 20 hours need to include consistent practice, which just going through a video course won't do since it's not always super involved. I know there are course files to download but it's not necessarily the same, which is why after I'm done with the Pluralsight path, I'll most likely focus on completing freeCodeCamp certifications and other practical, real-world exercises/projects. I'm also thinking of recommitting to a fresh #100DaysOfCode.

1. Break down a skill into its components. The first thing you need to do is to decide what you want to learn, and then break it down into smaller, manageable pieces. Let’s say you want to bake your own bread. It’s a multi-step process that includes making dough, letting it rise, punching it down, shaping it into a loaf, and baking it in the oven. You’ll start by identifying the different tools and skills behind each step. Or, if you choose yoga as your new hobby, begin at home with a video that shows you the basic poses and breathing techniques — and then go try a class.

2. Learn enough to know when you’re making a mistake. “Get three to five resources about what it is you’re trying to learn,” says Kaufman. “It could be books, it could be DVDs, it could be anything, but don’t use those as a way to procrastinate.” After all, you won’t learn how to bake bread or do yoga unless you break out the flour or yoga mat and do something. Set a limit on the number of resources you’re consulting — there’s no need to buy every book or watch every YouTube video on the subject; there’s time to do that later — and jump in.

3. Remove any and all barriers to practice. This may require stowing away your electronic devices while you tackle your hobby. Or get creative and combine your favorite distraction with your new activity. In a TEDxPenn talk, behavioral scientist Katherine Milkman advocates a technique called “temptation bundling”: pairing something you know you love to do with something you’re trying to get yourself to do. Turn on your favorite podcast while you bake, or you could turn your weekly coffee with a friend into a weekly at-home yoga session with the two of you.

4. Practice for at least 20 hours. To overcome what Kaufman calls the “frustration barrier” — that period in the beginning when you’re painfully incompetent and you know it — you must commit to sticking with your new activity for at least 20 hours. By that point, he says, “you will be astounded at how good you are.”

Full article here.

Some questions:

  • Do you think this concept of learning can apply to learning a programming language?
  • How did you learn?
  • Is 20 hours based on the above steps enough to start (for example) contributing to an open source project or starting your own?
  • Would anyone be taken seriously after only 20 hours of practice in this field, even if you're proficient?

Thanks!

Top comments (0)