Learn How to Learn: 4 Repeatable Steps to Master Any New Skill

A real-world guide to mastering any new skill

“I never want to see another test again.”

That was my first thought when I finished my last exam in my Master’s program. I had been learning for nearly 20 years, and I thought I was finally finished. I couldn’t have been more wrong.

We’re constantly learning new skills from the moment we enter this world to the moment we leave. It occurs in both formal capacities (in school or on the job) and in informal capacities (the perfect technique for grilling a steak from your buddy).

As Tony Robbins describes, learning is in fact a skill, one that can be improved:

“One skill you want to master in this day and age we live in, if you want to have an extraordinary life, is the ability to learn rapidly.”

The increasing amount of self-taught professionals (developers, musicians, designers, etc) is a testament to how perfecting the art of learning can change your life. The big question is, of course, how? How do you get better at learning? How can you build a coherent plan to perfect a new skill?

Fortunately, you don’t have to start from scratch. Here’s your four-part game plan complete with advice from master learners like Tim Ferriss, research on expertise and skill acquisition, and a bit of my own personal experience.

  • Prepare.
  • Learn.
  • Perfect.
  • Adhere.


To be successful, you need to be selective in the skill you’re trying to master. Picking the wrong skill can sabotage your success from the start.

Make sure it’s applicable

In 2010, I started dabbling in building websites. I was blindly copying and pasting PHP code I found on the Internet. As a result, I frequently brought my site down with bad code and had to pay a developer $20-$30 to fix each new issue. This wasn’t a sustainable habit in the long run. I then spent a few weeks learning some basics so I could fix most problems myself. The learning part was easy because it applied to something I was interested in (building websites) and directly solved a problem I was facing.

That’s lesson number one:

The perfect skill either solves a problem you’re facing or scratches an itch you have. Otherwise, you’ll find yourself lacking the motivation and perseverance necessary to be successful.

Be very specific

Specific goals are easier to visualize and lend themselves to a clearer path to success than their vague counterparts. To set yourself up for success, narrow your skill down as much as possible.

Vague: I want to learn how to code.
Specific: I want to learn CSS positioning so I can redesign some elements of my website.

Here are two questions to help you break down larger skills into smaller, clearer objectives:

  • What specific problem am I trying to solve by learning this skill? Are there certain aspects of the skill that are more applicable to my situation than others?
  • When I look at individuals that have mastered this particular skill, what aspects of their performance most intrigue me?

Make sure you’re in love with the process, not just the outcome.

Geoff Colvin, author of Talent is Overrated, has spent years exploring high performers across a variety of skill sets. He’s found one question that predicts how good someone will get at a particular skill:

The question that ended up being the most predictive of skill was “How long are you going to be doing this?”

Learning is a frustrating process. You’re guaranteed to experience obstacles along the way that make it seem as though giving up is the best solution. There are two ways to fight this inevitability before you even get started.

The first is to pick a skill where the road to mastery is as exciting to you as the finish line. For example, if you’re entering medical school for the sole purpose of landing a six-figure salary, you’re setting yourself up for failure. Sure, the paycheck is nice, but successful doctors enjoy helping patients more than anything else. Research consistently shows that, while a focus on long-term goals can motivate us to get started, it actually leads to less enjoyment of the process itself. In contrast, focusing on the immediate enjoyment of learning a new skill actually makes us more likely to stick with it.

The second is to plan out celebration points along the way to take pride in your progress. Taking time to recognize small achievements is key to maintaining long-term motivation. For example, learning to play guitar can be broken down into a progression of learning five separate songs arranged from easiest to hardest. Each successful song represents a checkpoint to celebrate progress.


In school, your teachers were responsible for building lesson plans and making sure you were headed in the right direction. When you’re teaching yourself though, you’re on your own. That can be a daunting prospect when you’re just getting started.

Here are 3 strategies you can use to make sure you’re learning the right things in the most effective way possible:

Deconstruct and select

Tim Ferriss is renowned for his learning abilities. He markets himself as a “human guinea pig,” and has accomplished some impressive feats like learning to play the drums in five days (and performing live with Foreigner on stage). Tim champions the DiSSS method, which stands for Deconstruction, Selection, Sequencing, and Stakes.


Deconstructing a skill and Selecting the most meaningful pieces to the puzzle make the impossible seem manageable. To start, Tim asks a basic question:

“What are the minimal learnable units, the LEGO blocks, I should starting with?”

If your goal is to learn JavaScript, for example, you could spend months learning every bit of syntax (similar to grammar rules but for code) imaginable. However, with just the basics of variables, comparison operators, and if/then statements, you’ll be amazed at what you can accomplish. Suddenly, a monumental task (learning JavaScript) is infinitely more manageable. In fact, when I talked to a handful of developers at a recent meetup, they all universally agreed that new coders spend too much time on learning syntax and not enough time actually coding.

Every skill can be broken down into a series of segments. Your goal is to identify those segments and determine which ones are absolutely necessary for success. Focus on those first.

Find a mentor

When you’re unfamiliar with a skill, it can be exceptionally hard to determine which parts of a particular skill are worth learning right off the bat. To circumvent this issue, find a mentor to help you along.

I’ve found that most successful individuals are willing to pay it forward and help out. However, have specific questions in mind to save you both time. Here are some question to help start the conversation:

  • Thinking back to when you were just getting started, what parts of your skill were the most frustrating to learn? Now, which of those do you use on a daily/weekly basis and which have you forgotten?
  • What parts of your skill did you worry about the most when you were getting started that you now feel are unnecessary?
  • When looking at other experts in your field, what specific capabilities help you distinguish experts from non-experts?

Here’s a resource for more actionable advice on how to ask potential mentors for help the right way.

Stop learning and start doing

Reading, after a certain age, diverts the mind too much from its creative pursuits. Any man who reads too much and uses his own brain too little falls into lazy habits of thinking. - Albert Einstein (via)

Learning is only valuable if, at some point, you actually need to apply what you learn and start doing, the earlier the better. In fact, practicing a skill results in much faster progress than reading or watching tutorials. As Daniel Coyle states in his book The Talent Code:

Our brains evolved to learn by doing things, not by hearing about them. This is one of the reasons that, for a lot of skills, it’s much better to spend about two thirds of your time testing yourself on it rather than absorbing it.

Once you have the basics down, start putting them into practice in whatever way you can. When you’re new to a particular skill this can be difficult. It’s hard to know what’s possible. Ferriss recommends using a technique called Reversal:

The process of looking at the final product of your skill and backtracking to find the best way to begin a task.

In learning PHP, I started by downloading well-built WordPress plugins. By looking at their code, I could get a better feel for formatting and sequencing. Then, I would try to rewrite snippets of the plugin from memory and compare my result to the finished product. As a result, I was able to learn while working in a real-world environment.

Benjamin Franklin used a similar technique to improve his writing skills. He would sit down with copies of The Spectator, a British culture and politics magazine, and take detailed notes of the articles. Then he would take the notes and try to recreate the sentences in his own words, comparing his writing to the originals to see where he could improve in style and prose. He went on to be one of the most influential writers in American history!


Practice makes perfect.

That might be true, but all practice is not created equal. Ultimately, it’s not how much you practice, but how smart you practice that determines how well you perform.

Practice differently

As Joshua Foer, author of Moonwalking With Einstein, explains, amateurs and experts practice very differently:

Amateur musicians… tend to spend their practice time playing music, whereas pros tend to work through tedious exercises or focus on difficult parts of pieces.

Experts use deliberate practice, focusing on specific elements of their trade and working on them specifically until they improve. As an example, if you’re trying to improve your short game in golf, playing a round of 18 isn’t likely to improve your performance. A better solution would be to hit a few buckets of balls aimed at a target 50 yards away.

Deliberate practice

Practice is an imperative part of building any skill, but the practice needs to be specific. Identify the fundamental components of the skill you’re learning that you struggle with the most. Find ways to address those areas in a focused way.

Tighten feedback loops

You can work on technique all you like, but if you can’t see the effects, two things will happen:

“You won’t get any better, and you’ll stop caring.” – Joshua Foer in Moonwalking With Einstein

Learning to play the piano well would be virtually impossible if you only played while wearing noise-canceling headphones. How would you know if you were improving?

Feedback is vitally important to the learning process. It helps you evaluate how well you’re doing and identify areas for improvement. Faster feedback is always better. For example, if you had to wait two hours to find out whether you made a free throw, you would have already forgotten any technique adjustments you made on that particular shot.

Obtaining feedback isn’t always easy. When you’re just starting to play piano, you know immediately when you’ve made a mistake. However, if you’re trying to go from mediocre to great, self-assessment can be difficult. Here are some tips for getting quality feedback on your work:

  • Share work publicly. It’s incredibly scary to share your work with others particularly experts in a given field, but it’s absolutely essential for improvement. If you’re learning to code, for example, create a project in GitHub and ask a developer colleague (or your newfound mentor) to do a code review.
  • Be specific. When asking for feedback, be very specific. If you’re writing a program in JavaScript, asking, “How does the code look to you?” is too broad. Instead, pick a specific element and ask for direct feedback: “This was a tricky aspect I struggled with. How would you have handled it?”
  • Ask for negative feedback. We often ask questions in a way that either yields no helpful feedback or only positive remarks. For example, when I used to teach group fitness, I would ask, “How did you guys enjoy class today?” Unsurprisingly, I either received no response or some vague nods. I only received helpful feedback when I directly asked for it: “What is one aspect to today’s class that could have been improved?”
  • Don’t make it about you. I’ve found it helpful to remove yourself from the question when asking for feedback whenever appropriate. In the previous bullet point, I’m asking for feedback on the class not my specific performance. Framing the question as “What is one thing I could have done better in class today?” makes the feedback more personal. Depending on who you’re asking, I’ve found that this can make the person hesitant to provide critical feedback.

Spread out your training

When you first start learning a new skill, the temptation is to go all out dedicating every waking moment to your new passion. It’s not surprising that this type of approach quickly leads to burnout. Dedicating all of your energy towards one activity isn’t sustainable for the long-term.

Avoiding burnout is just one of the many benefits to spreading out your learning. For example, research on students found that spreading out studying over time was one of the most effective learning strategies for increasing test performance.

Try to reign in your enthusiasm coming out of the gate. Allow yourself to indulge in your newfound curiosity, but make sure your class/practice/training schedule is realistic and sustainable.


You could have the perfect skill in mind, narrowed down to a specific segment that is directly applicable to your life. However, if you give it up after two days, you won’t make any progress.

Make a plan

Ramit Sethi, author and creator of IWillTeachYouToBeRich.com, recommends using recommitment psychology to set yourself up for success:

“Sit down, take out your calendar, and do the math. When exactly are you going to practice? What are you going to give up, reschedule, or stop doing to make the time?”

If you’re going to take on learning a new skill, something else is going to have to give. Failing to plan ahead can cause trouble down the road when your schedule is packed, and you have to pick between a handful of priorities. Plans help you to solve problems before they arise.

Personally, learning and self-development is my highest priority of the day. As a result, I do it first thing in the morning. That way, if the rest of my day goes sideways, I know I’ve at least spent 30 minutes improving myself in some measurable way.

Tell others about it…maybe.

Sharing your goals with a close friend or even your entire social network can help keep you accountable. Right? Not so fast. It could actually hurt your progress more than help. A study published by New York University demonstrated when we tell someone about a goal, we assume a “premature sense of completeness regarding the…goal.” We unknowingly ease up.

One way to avoid sabotaging yourself is to state your goal as a commitment rather than progress towards the finished product. The former publicly commits us to an attitude, which we’re less likely to change later on. The latter hints we’ve already taken steps to achieve our goal, which might cause us to slack off.

Commitment: “I will run a marathon in 2015.”
Progress: “Just signed up for my first marathon! Can’t wait to run Chicago in October.”

While the statements convey the same overall idea, the first statement makes a firm commitment to the end product. The second statement indicates we’ve already made progress (signing up) and lures us into a false sense of accomplishment.

Join a group.

Groups offer several benefits when you’re picking up something new like access to a collective knowledge-base and a place to vent your frustrations. They’re also incredibly motivating. Research shows that people working in groups felt higher intrinsic motivation and, as a result, were more likely to persevere at difficult tasks.

Here are some ways to find applicable groups in your industry:

  • Ask your mentor what professional organizations or meetups they frequent.
  • Search meetup.com at the beginning of each month for meetups that might make sense for you.
  • Search for relevant Slack groups that match your interests. Groups don’t have to be in-person.


Getting started - Make sure the skill either solves a problem you’re facing or is directly applicable to your life. Be as specific as you can.

Learning the basics - Deconstruct and select the most applicable parts of the particular skill. Find a way to apply what you’re learning as quickly as possible.

Get better - Make sure your practice is specifically targeted at your weak areas. Pay close attention to feedback and use it to improve performance.

Stick with it - Make sure you set out a plan for how/what/when you’re going to practice. Work on joining a group or (carefully) telling others to increase your chance of success.

I’m still applying these steps to my own pursuit of learning JavaScript. I spent a few weeks learning the basics and even built a small project in GitHub. However, I’m now stuck on the last segment: Adherence.

My current plan is to join more developer-centric groups and publicly push out a new project to push myself into action. I’d love to hear your thoughts and suggestions though! What are your favorite tips for adhering to a task or learning in general? Share them in the comments!

Photo credits: Øyvind Hellenes, Performance X Design

Let Todoist take the mental load

Join millions of people who enjoy peace of mind, and getting things done.

Get started for free