× {{alert.msg}} Never ask again
Receive New Tutorials

13 Learning Hacks For People Teaching Themselves How to Code

– {{showDate(postTime)}}

(Last updated: September 23, 2016) — Struggling to stay motivated and focused as you teach yourself how to code? You’re far from alone. Self-teaching can be a frustrating affair if you’re not going about it the right way.

Here are 13 stress-saving learning hacks that’ll help you learn quicker and, more importantly, better.

#1: Know your motivation for learning

Having a clear sense of why you are learning to code will help you stay focused as you teach yourself.

Maybe the reason you’re learning is to:

  1. Advance your current career
  2. Switch careers altogether
  3. Earn extra money by taking on side projects
  4. Build your own product (like an app or a startup)

Whether it’s one of these or something else, keep it at top of your mind as you teach yourself. Remembering your end goal will help in the moments you get extra-stuck.

To help you remember, you can write it down on a sticky note next to your workstation, or make it your phone/computer background (which is my personal favorite).

#2: Choose the right language

When you first start out, it can be tough to know what to learn.

However, it is well known that some programming languages are easier to tackle than others.

Really, this isn’t something to get too hung up on. It’s better to start with something (anything) than to spend hours and hours researching the “perfect” option. Because once you know one programming language, it is easier to switch to another.

(Pro tip: it’s usually a good idea to start with HTML.)

If you already know your end-goal, look up what it takes to achieve the thing you want to do. Learn the languages that align with your goals.

Example: you want to build your own website. HTML and CSS are needed on basically any kind of website. Start there.

Here’s a fun quiz to help you decide the best programming language you should learn!

#3: Put it in your calendar

When it’s in your schedule, you are more likely to do it. But set realistic timeframes of how long it’ll take to complete certain tasks. (Don’t expect to get through a several-hundred-page programming book in less than a week…unless you ditch all of your other responsibilities during that time.)

When I first started teaching myself, I had an ongoing calendar slot to practice for at least 25 minutes, every day.

Just committing to 25 minutes a day is simple. And chances are once you get going, you’ll end up working for an hour or more.

#4: “Do one thing at a time”

People always try to do 100 things at once. Big mistake! Take it one thing at a time. Don’t learn HTML, CSS, JavaScript, Swift, etc. simultaneously. (You will drive yourself crazy!)

This can be really tough (speaking from experience), because it’s easy to want to learn it all right away! (There is so much to learn!)

In his book The One Thing, Gary Keller says, “Extraordinary results are directly determined by how narrow you can make your focus.”

This applies to everything, including learning how to code.

And guess what? JavaScript will still be there after you master HTML and CSS. So start small.

#5: Break everything down into small chunks

Similarly to the above tip, you don’t want to cram too much into your brain at once, even if it’s information about the same topic. Learning something new is a lot easier when you break it down into bite-sized pieces.

Focus on one thing at a time, and break it down into manageable chunks. Make sure you’ve fully understood and mastered one concept or task before moving on to the next.

Entrepreneur Tim Ferriss came up with the acronym “ABC” – Always Be Compressing. For each of your “chunks,” try to condense all the necessary information into as simple a form as possible. Summarize it into a paragraph, create a graph or image, use a mnemonic device…whatever helps you quickly remember the information!

#6: Diversify mediums

Studies show that the more methods you use to experience information, the more likely you are to really absorb it.

This means turning to books, videos, interactive lessons, quizzes, podcasts, etc. as you teach yourself.

Soak up the information in different ways.

According to Judy Willis, “The more regions of the brain that store data about a subject, the more interconnection there is. This redundancy means students will have more opportunities to pull up all of those related bits of data from their multiple storage areas in response to a single cue. This cross-referencing of data means we have learned, rather than just memorized.”

#7: Teach someone else what you are learning

Being forced to explain a concept or process to someone else helps ensure that you have a firm grasp on it yourself. You can do this in a variety of ways.

One option is running a class or workshop in person by volunteering at a school or group for young kids, like Girls Who Code.

You can even make YouTube videos explaining a concept (where you don’t even have to leave your house!).

Don’t like the idea of making videos? It doesn’t have to involve video. You could teach in other ways, too, like through writing. For instance, through my own blog I have not only helped others but also taught myself more than I could have if I was just learning alone.

Either way, teaching others what you are learning will help reinforce the concepts in your brain.

#8: Get an accountability buddy

This could be in person or online. You could team up with a friend or family member who also wants to learn how to code. (Similar to how people go to the gym with others and set weight-loss/fitness goals.)

You could also find a partner online. In some ways, this is what Codementor offers: online tutoring and long-term mentorship.

Furthermore, it doesn’t have to be one-on-one. You could join a coding group or club where everyone pushes themselves to keep learning and getting better.

#9: Get a mentor

Having a mentor has many benefits. The same holds true for when you’re learning how to code.

Platforms such as Codementor give you the opportunity to connect with experienced developers and learn with them.

While online question and answer forums are great, nothing can compare with one-on-one assistance, where you can get your questions answered directly.

#10: Gamify the process

Giving yourself rules and rewards helps make learning more enjoyable. Rewards help create positive reinforcement in your mind when you successfully complete a milestone. They can change the learning process from a chore to a game.

Example: After you finish a certain programming book, buy those new shoes you’ve been wanting for months.

Set goals and work towards them. Reward yourself when you achieve them.

#11: Reverse engineer someone else’s code

See how they went about building whatever it is you are trying to build.

This is easy to do with lots of open source projects on Github. The programming community can be a pretty friendly place, where reading (or even modifying) someone else’s code is completely fine (only as long as it’s open source, though!).

Simply go through line by line, seeing how each works and fits into the larger picture. Use their work to get inspiration and ideas. And remember to pay it forward by sharing some open source projects yourself down the road!

#12: Don’t just learn; practice

This is something else beginners always get stuck with. You should be trying to write your own code as soon as possible.

I know it’s hard, but at some point you have to step away from the tutorials and start to build actual projects.

Figuring things out are your own through trial and error is a game changer. Which leads me to the last point…

#13: Don’t be afraid to fail

There is something called “productive failure,” which means the more you struggle to learn something, the better you’ll remember that information later. Failing can help you gain a deeper understanding of why something works, as you apply yourself to finding solutions for the mistakes you made.

Breaking away from the tutorial/online course, going off on your own, and researching along the way—this is crucial.

Even if you never finish the little website or app you are attempting to build, you will learn more by trial and, yes, error, than by robotically following the course project demo to a tee and having all the answers at your fingertips.


In the end, the key to a successful self-teaching experience is confidence. If you believe you can do something, you’ll be way more likely to knock it out of the park. Nix the self-doubt and negativity and power through like a champ!

Don’t be afraid to switch directions, either. It’s only failure if you give up.

About Laurence Bradford

Laurence Bradford is the creator of learntocodewith.me, a blog for self-taught coders. When she’s not building websites, she’s writing about building websites. You can find Laurence on Twitter, too.

Questions about this tutorial?  Get Live 1:1 help from Programming experts!
Senior Software Engineer
Software engineer with 13+ years of professional experience. If you have a problem feel free to contact me, I always go above and beyond to try to...
Hire this Expert
James Collin
James Collin
Senior Full Stack Software Developer and R expert
I am 2010 graduate batch from Michigan State University having Bachelors degree in Mathematics. From then I have worked with a breadth of companies...
Hire this Expert
comments powered by Disqus