By Sam Gavis-Hughson July 16, 2018

Learn Any New Skill Without Getting Overwhelmed

This year, like so many other people, I set my New Year’s resolutions. Some were easy things, like go to the gym four days a week (I basically do that anyway) and go on some sort of interesting date with my girlfriend every month (I don’t really have to convince myself too hard for that one).

However, the goal that I’m most excited about is a different sort of goal: Learning something new every month.

I’ve already doubled my reading rate using this book, upped my poker game to something slightly better than “you have played this before, right?”, became the next Picasso, and in April, learned how to do a handstand pushup.

learning new skills

One of my March drawings

When I started this challenge of learning something new every month, I realized that I had some context that might really help me out. In my primary job, I am a software engineering interview coach, helping students learn how to effectively solve problems during their interviews.

As a result, I know a thing or two about learning new skills. I’ve had the opportunity to help countless students learn the skills they needed to land jobs at companies like Amazon, Uber, Bloomberg, and more.
Time and time again when I talk to my students, they come to me with the same concern: They’re completely overwhelmed with the number of resources out there and have no idea where to start.

In some ways, we’re alive at an amazing time. There are unlimited resources on almost any topic under the sun. But this can definitely be as much a curse as it is a blessing. With so many options, it can be insanely difficult to pick the best resources. This leads to analysis paralysis and, ultimately, overwhelm.

That feeling of overwhelm can be absolutely brutal. It paralyzes you and prevents you from making any progress because you have no idea where to start. That means you either don’t start, or you try to go in 100 directions at once. I see this all the time with preparation for coding interviews. And not making progress is really not an option when you have an interview scheduled for a specific date.

For the sake of my personal goals, as well as helping my students, I wanted to figure out a way to avoid getting completely overwhelmed while learning a new skill. If you’re not making progress, then there’s not much point in trying to learn new things in the first place. That’s why I developed three rules for avoiding overwhelm and continuing to make progress.

Set Goals

Everyone knows deep down that they should be setting goals. It’s the same as flossing. Everyone knows they should do it, but a lot of people don’t. Clear goals are incredibly important for dealing with overwhelm, because they help you focus where your attention should be.

However, most people don’t set goals. And those who do usually don’t set helpful ones.

Many people falsely assume that saying something to themselves like, “I’m going to get a good job,” constitutes setting a goal. However, there are two major problems with this. First, they didn’t write down their goal—despite the evidence suggesting the importance of writing down your goals—and second, it’s not a good goal.

When I say it’s not a good goal, I don’t mean that it’s not something that they should strive for; rather, it is poorly structured. “I’m going to get a good job” is not structured in a way that it will be easy to actually follow through on. Rather, goal setters should use the SMART goal framework.

SMART goals are Specific, Measurable, Achievable, Relevant, and Time-bound. Let’s consider how we could make our goal of “get a good job” a SMART goal:

“Within three months, I will land a job at a Big Four company and make a six-figure salary.”

  • Specific: This goal is much more specific than our original goal. By specifying more clearly what we want to learn, we can really focus our efforts and reduce the number of choices we have. I guarantee that there are fewer resources out there for getting a job at a Big Four tech company than at just any company.
  • Measurable: How do we measure our success? With the same adjustments we used to make our goal more specific, it is also measurable. With this goal, it is clear whether or not we have succeeded because there are more specific criteria. The Big Four is a specific set of companies, and we have a specific salary goal, so we know if we hit our goal.
  • Achievable: Is this a realistic goal? Depending on where you’re at now, this may or may not be a feasible goal for you in the near future. Ensuring that a goal is achievable requires that you be honest with yourself about how far you need to go, and that you give yourself a reasonable timeline to get there.
  • Relevant: Do you care about this goal? If you don’t care, why are you doing it? You’re going to have to motivate yourself here. No one is holding your feet to the fire, so the only way that you’re going to accomplish your goal is by creating a goal that is actually important to you.
  • Time-bound: Have you ever noticed how you can be making no progress for months until a deadline is looming, and then you crank out months-worth of work in a couple days? Deadlines put pressure on us to get stuff done. Give your goal a deadline.

This goal is way stronger than “I will get a good job,” because it gives us a clear roadmap of what we are trying to achieve.

SMART goals can be applied in any area of your life, both technical and nontechnical. Considering the things I’ve tried to learn this year, here are some personal examples of SMART goals:

  • Double my reading rate of easy nonfiction books by January 31.
  • Learn the basic mathematics and strategy behind Texas Hold’em so that I can break even over the long-term by the end of February. Practice at least 30 minutes every day.
  • Improve my drawing skills so that I can draw a landscape that I am pleased with by the end of March.
  • Do one strict handstand push-up by the end of April.

With SMART goals like these, we have a clear plan, making it much easier for us to avoid overwhelm and move onto the next step.

Pick One Resource and Stick to It

This is one of the biggest mistakes that I see people make when they’re trying to learn something new, especially my students preparing for coding interviews. They think that they need to know everything, and that the only way to learn everything is to jump around between resources. This jumping around is how they end up totally overwhelmed.

Now it’s probably true that you would need to go through a lot of resources to learn every possible thing, but here’s the thing: For anything you’re going to learn, you don’t need to know every detail right now. You just need to know enough to get you started and to make progress.

The problem with jumping around and trying to learn everything is that it’s a recipe for overwhelm. Each teacher has their own style and will teach the same thing in their own way. Sure, they might include slightly different information, and you may relate to one style better than another, but at a certain point, it all becomes a distraction.

You also don’t know what you really need to know unless you have a birds-eye view of what you’re trying to learn. It’s easy to end up doing something like this, where you go down some rabbit hole and miss a ton of critical stuff:

learning new skills

A better approach is to pick one resource that is “good enough” and stick with it from start to finish. Use self-discipline to force yourself to follow through with one particular resource, whether it be a book, an online course, a workshop, or anything else.

Creators of any decent resource will take the time to plan out what they think is most important for you to know and structure it in a logical way so that you don’t get overwhelmed. That means that just by going through the one resource, you will develop a decent overview of the topic. From there, you have the opportunity to fill in the gaps as necessary, because you have the perspective to actually see what the most critical gaps are.

Let’s consider an example. At my old job, I needed to do Android development for a project, so I bought a copy of Android Programming from Big Nerd Ranch. The book is structured as a series of projects that walk you through all of the essentials of Android development.

In chapter one, you learn how to create your first app. It’s super simple, but it gets you up and running. The following chapter introduces you to MVC for Android development, and then chapter three takes you into the activity lifecycle.

These concepts are key to understanding Android, but the book leaves out a ton of the more detailed information. It’s just not necessary. One of the biggest differentiating factors of great resources is that they don’t give you stuff you don’t need to know.

Another example of a resource that greatly limits the amount of information is my free e-book, Dynamic Programming for Interviews. In this book, as the title suggests, I help readers effectively prepare for their dynamic programming interviews.

However, here’s the catch: The book only includes five sample problems. And it’s not because I’m lazy. It’s because that’s all you really need. In the book, I introduce a methodology called the FAST Method, which makes it easy to solve any dynamic programming problem. This means that the sample problems included are simply a way to demonstrate the methodology. You don’t need to practice tons of problems to be effective in your interview, and limiting the number limits the overwhelm.

Choosing a well-thought-out resource for whatever you are trying to learn can be one of the best ways to beat overwhelm. Someone has already taken the time to cut out all the stuff that you don’t need, so you’re left with just the most important information.

How to Choose a Resource

This section is intentionally short because I don’t want you to think too much about what you’re doing here. Action is far more important than planning, so just pick a resource and get started.

Your goal should be to spend no more than one hour looking at different resources before deciding the best one for you. The fact of the matter is that quality often doesn’t vary that much from one resource to another, and the highest quality options tend to get the most mindshare anyway, so they should be some of the first results.

Here are a few ways to narrow things down:

  • Choose based on your learning style. Knowing whether you’re a visual, auditory, or kinesthetic learner may help you determine what resources would be best for you. Maybe you prefer learning from videos as opposed to books. In that case, consider sites like Udemy, which has a huge catalog of video courses.
  • Read the reviews. If you’re looking at a book or course on someone’s website, you may not be able to see any reviews, so it’s hard to know what you’re getting. Google “[product name] reviews” and see what comes up. Unless it’s a super niche product, you should be able to find some good information.
  • When in doubt, pick something that has a guarantee. Most informational products these days have some sort of money-back guarantee. That means the worst thing that can happen is nothing. You buy the course, don’t like it, return it, and are back where you started. With a guarantee, you have no excuses.

At the end of the day, there’s no magic formula for what to do. The only formula I can give you is for what not to do: Don’t waste time and energy researching. Just pick up any decent option and get started.

Decide How to Practice

When you wrote down your goal, what was it? Did you write that you want to become the best in the world at something, or just do something for fun? I’ve recently been learning to play guitar and, let me tell you, there is a huge difference between the way that I practice and the way anyone who dreams of being Jimi Hendrix would practice.

Why is the way we practice different? Because our goals are different. My goal when I play is to have fun. That is very different than the goal of getting amazing at something. So how do you tailor your practice of a new skill to your goals?

The key is to decide whether you want to become great at something or just learn it to have fun. If you want to learn something casually, you focus on fun. If you want to learn something seriously, you focus on fundamentals.

Let’s use the guitar as an example. In my case, I just want to be able to pull out the guitar when I’m with friends so that we can jam out together.

This means that I don’t really want to do lots of boring practice. I could spend an hour a day practicing scales and arpeggios, and I would make much faster progress doing that, but I wouldn’t enjoy the process. That would turn learning this new skill into work all of the sudden.

Instead, the way that I practice is by learning new songs. And when I learn a new song, I don’t care if it’s technically perfect. If I get something to sound 80 percent of the way there, that’s good enough for me. That is my goal. By lowering my standards in this way, I am able to have fun while I learn this new skill.

In contrast, imagine that I wanted to become a world-class guitar player. Being able to play a song 80 percent correctly definitely wouldn’t cut it. If I wanted to become great, I would go back to the fundamentals.

This would mean hours of daily practice going over basic scales and chords until they are absolutely perfect. It would mean breaking down songs that I’m learning so that each note is perfect. Then, once I’m technically proficient, it would mean adding heart and soul and my own flair to the song.

So what does this mean for you? How should you practice?

Well, that depends on what your goal is. With most of my clients, their goal is to get a job at a top tech company like Google or Facebook. These companies don’t just hand out jobs, so you need to get really good. That means focusing on the fundamentals and putting in the hard work to become really good.

However, if your goal is to learn a new skill for your own edification, you probably want to focus on making the learning process as enjoyable as possible, so figure out ways that you can do that. Jump right into playing songs, cooking recipes, or coding a simple game. No need for scales, tutorials on chopping onions, or a 12-week intensive coding bootcamp. Just find a tutorial or course for what you want to do and get started.

Build Your Skills

Learning new skills is an incredibly valuable and rewarding skill in and of itself. So far this year, I’ve doubled my reading rate, won almost $1M in fake money playing poker online (sadly can’t play for real money in NY), drawn some pretty pictures, and done my best handstand yet. Learning these new skills has given me a new drive to accomplish things I would never have done otherwise.

However, if I let myself get overwhelmed, I wouldn’t have gotten anywhere. It would be so easy to just sit at home looking at the million things I could do and do nothing. By using the skills in this article, I was able to stop overwhelm in its tracks and continue to make progress toward my goals.

Whether you are trying to prepare for interviews, learn a new skill for a job, or just pick up some clever new trick, the same principles apply. If you focus on setting clear goals, determining the best resource for you to use, and practicing appropriately, you can stop getting overwhelmed and pick up any skill you like with relative ease.

About the author

    Sam Gavis-Hughson

    Sam is the founder of Byte by Byte, a company dedicated to helping software engineers interview for jobs. Through his emphasis on developing strong fundamentals and systems for mastering coding interviews, he has helped many programmers land their dream jobs. Byte by Byte students have landed jobs at companies like Amazon, Uber, Bloomberg, eBay, and more. Sam is also the author of Dynamic Programming for Interviews, a free ebook to help anyone master dynamic programming.