How to learn anything in 20 hours (and start MAKING)

Ignacio Alonso
3 min readJan 14, 2016

Here are some tips for you to learn how to code straight from the best books on learning ( you can use this list to learn whatever you want):

First we must make a distinction between skill acquisition and learning:

  • Learning: The theory of everything, the rules of the game, e.g. When you learn spanish in school.
  • Skill acquisition: When you go and talk and practice spanish with native speakers.

When you learn you plan, edit and correct as you practice.
Learning is NOT skill acquisition.

If you want to acquire a new skill you must:

  • Train: Improve a skill you already acquired through repetition. What happens after you acquired a basic skill if you want to keep improving.

So now that we are clear about the difference between skill acquisition and learning how can we go about improving our way of doing both?

@sivers on learning

According to Josh Kaufman in How to learn anything in 2o hours we have a checklist:

Checklist for effective learning:

  1. Research the skill and related topics
  2. Jump in over your head (don’t fear confusion)
  3. Identify mental models and mental hooks:
    Mental models are the most basic unit of learning: a way of understanding and labeling an object or relationship that exists in the world while mental hooks are metaphors and analogies you can use to remember new concepts.
  4. Imagine the opposite of what you want:
    By knowing the least desirable outcome you can notice important steps that must be learnt.
  5. Talk to practitioners to set expectations
  6. Eliminate distractions in your environment
  7. Use spaced repetition and reinforcement for memorization
  8. Create scaffolds and checklists
  9. Make and test predictions
  10. Honor your biology (90 minutes is the optimal time for learning)

Now if you follow the checklist you will be ready for the next step. Skill acquisition:

Checklist for rapid skill acquisition

  1. Choose a lovable project (e.g. Making a website, learning to draw, dance, play your favorite song on the guitar)
  2. Focus your energy on one skill at a time
  3. Define your target level of performance: What kind of website would you like to create? How well would you like the song to sound?
  4. Deconstruct the skills into subskills ( CSS: broken down is just different codes in order of importance and specificity that style a website. Guitar chords are just combinations of different notes, etc.)
  5. Obtain critical tools (Computer, Guitar, etc)
  6. Eliminate barriers to practice: Turn off your cellphone and mail client
  7. Make dedicated time for practice
  8. Create fast feedback loops ( For programming you can use an IDE to quickly know if you are correct or not, and adjust accordingly)
  9. Practice by the clock in short bursts ( Use things like pomodoro to make intense focused blocks of time)
  10. EMPHASIZE QUANTITY AND SPEED

These are the basics of learning and skill acquisition, you can use these framework to learn anything you want.

Stop losing time consuming content and start optimizing your outflow of creations!

If the article was helpful to you, please press Recommend and share the article with someone who might need this.

--

--

Ignacio Alonso

AI Engineer | Senior Software Engineer | Coding Teacher