Illustration of a golden trophy next to the words 'succeed'

7 Tips For How To Learn To Code Online – And Succeed!

Alexandre Ouellette

With tech skills in high demand and tons of resources to learn online - now is a great time to start learning to code! However, with so many websites to choose from, not to mention other distractions online, we don’t blame you for getting lost and losing your focus.

What are the main pitfalls and how can you avoid them? CareerFoundry web development student Alex shares his top tips for success.

1. Set yourself realistic goals

When I first started learning how to code, my goal was never clearly defined. I wanted to “learn to program,” plain and simple. Though the intention behind this goal was good, it didn’t help to guide me through my learning process. Having a clearly defined and specific goal is absolutely essential when learning. It will serve as a reminder of why you started, a motivation to keep you moving towards something and it will allow you to have a baseline for tracking your progress.

Start by thinking about what you want to accomplish with your programming skills. Do you want to create the next big iPhone game? Are you trying to program interesting websites? Do you have an idea for a tool that doesn’t exist yet? Learning by working on a project that you find interesting is a great way to stay motivated. When I was starting out, I tried to create an application to keep track of my notes and projects, because I never found a tool that worked for me.

Once you have a better idea of why you want to learn to code, you can do some research into what language or framework will allow you to do that. Want to build websites? Start with HTML and CSS. What to program iPhone apps? Start learning Swift.

Focusing on your motivation for learning to code will allow you to go from “I want to learn to code” to “I want to learn Swift to build my idea for the next big iPhone game”. This more specific goal will serve as a reminder of what you are trying to accomplish and it can help you concentrate on the important things.

2. Find people to help you along the way

Yes - learning to code online is great. You can move at your own pace, there is a multitude of resources available and you can concentrate on what really matters to you. However it can get difficult, especially when you are learning on your own. That’s why it is vital to build a support network, full of people willing to help you out when you get stuck.

Once you’ve found your programming language, do some research to find online communities that center around your language or framework. Try to find communities that are easy to access and who make it easy for beginners to ask questions, because you will have a lot of questions. Look for forums, IRC channels, Slack groups or newsletters that look interesting to you.

You should also find people in your area who can help you when you need it. Do you have a friend who has been programming for a while? Is there a friendly programmer at work? These are the people you’ll want to turn to when you are having motivation problems or with technical problems that your online community can’t seem to solve.

See if someone is willing to act as a mentor throughout your learning process. A mentor can be really helpful when trying to establish goals and reviewing your progress.

3. Get the necessary tools

Once you’ve found your online community, do some research into the tools you’ll need to program effectively. What code editor does your community recommend? Do you need an extra phone to test out your new application? Lean heavily on your support network for this because every programmer has their preference, but there are always essential tools shared by all.

4. Make a schedule and stick to it!

The downside of being able to learn at your own pace is that it is also very easy to procrastinate. When I first started learning, I often found myself pushing off my learning time and doing something else instead. I found that the best thing to counteract this is to create a well thought-out and defined schedule.

Start by finding a routine that works best for you. We all learn differently and at different times. There are times during the day that lend themselves more towards learning, creative processes or concentrated problem solving. I found that I can more effectively concentrate on learning new things in the morning, but I can write articles more effectively at night. To each their own, find what works best for you.

Also try to find the best place for you to learn. Is it in a coffee shop on your laptop? In your home office? At the kitchen table? Find a place where distractions are at a minimum and where you can’t easily find yourself doing something else. I found that working on my laptop in my home office was infinitely better than working on my gaming PC in the living room!

Once you’ve found the perfect time and place, schedule it. Think about a realistic amount of time for your learning sessions and how often per week you want to schedule them. For example, I found that 3 times a week while working, was all I could take, otherwise I’d start burning out and putting off studying.

Also when scheduling your learning sessions, try to work in a reward. If you are working in a coffee shop, it makes it easy to get a treat after you’ve completed your session. If you’re at home, leave yourself enough time to decompress before moving on with your day. These little things will make it easier to keep up the routine.

Once you’ve set a schedule, write it down. Put it in your calendar, set reminders. Do whatever you need to do to not skip your sessions.

5. Start small and build on previous lessons

When you are first starting out, take small steps. Start with the basics and try to understand the concepts behind the things you are learning before moving on. Try to find and use resources that are iterative and build on the previous concepts, as opposed to resources that only present concepts without working towards a whole.

6. Find a good reflection and feedback process

Learning would not be complete without looking back and assessing what you’ve learned. This all starts with taking notes. This is extremely important - I cannot stress this point enough. Taking notes is how I keep track of the things I’ve learned and it allows me to have a great reference point to go back to when I get stuck.

I also found that it is important to schedule time to look over your notes and see whether you are still going in a direction that is in line with your goals. When I was learning to program, I would schedule half an hour to look over the things I had done in the past week and see if I was heading in the right direction. I’d ask myself “Was this helping me reach my goal or did I just concentrate on things that didn’t matter?”. Going through this exercise allowed me to better plan my next week of learning and allowed me to stay on track.

This would be a great time to involve your mentor. Go over your notes with them and get their opinion on how you’ve been spending your time. They will have advice, listen to them.

7. Get as much context as possible

I found this last piece of advice while listening to the Developer Tea podcast and I thought it was pertinent to learning to code online. Once you have a base understanding in your language or framework, try to take in as much context as possible.

Start listening to podcasts, reading blog posts or looking through documentation. But don’t try to use them as learning material, instead look for trends. Try to identify things that are mentioned often by members within your community. Write those down, and put some time aside to do some research into them and see whether or not it’s a topic worth learning about to achieve your goal. This process will give you a better idea about what is possible with your language or framework and it will also give you ideas about what to work on next.

What You Should Do Now

  1. If you’d like a step-by-step intro to find out if web dev is right for you - sign up here for our free 7-day web dev short course.
  2. If you are interested in becoming a Web Developer check out our web development course (you'll learn the essential skills employers need).
  3. If you’d like to speak to an expert Career Advisor for free about how you can really get a new job in tech - connect with us here.

If you enjoyed this article then so will your friends, why not share it...

Alexandre Ouellette

Alexandre Ouellette

Contributer to the CareerFoundry Blog

Alexandre Ouellette has been working in the tech industry for around seven years, and right now is working as an IT Technician in Ottawa, Canada. He studied web development with CareerFoundry.