How to Start Learning to Code on Your Own and Succeed in the Process
Tags: codenewbie, firstyearincode, beginners
Published: 2019-11-10 23:44:13

Trying to start to learn how to code by yourself goes like this:

![A guy yelling excited: Lets get to learning](https://media.giphy.com/media/l3dj09hpsfuYkijDi/giphy.gif)

and then there are two possible outcomes, either this one:

![A person smashing his computer with a keyboard](https://media.giphy.com/media/9o9dh1JRGThC1qxGTJ/giphy.gif)
![A person falling to the ground saying: I quit](https://media.giphy.com/media/RUvOXSFXVMFe8/giphy.gif)

or this one:

![A close up to Danny Devito saying: Oh my God, I get it](https://media.giphy.com/media/87jGhdRVzUOJNh2s0q/giphy.gif)

I think that everyone felt the same way when starting to learn how to code, I know I did.

Today I just finished the third week of the professional Web Developer Bootcamp at Juno College of Technology in Toronto, but I started this journey of learning how to code almost two years ago. I remember wanting to learn how to code for a long time but different things in life kept me away from giving it a chance like my university studies, my job at that time or, most of the times, I just felt lost when I tried to understand something. Sometimes I felt that coding was too hard and didn’t wanted to waste time trying to do it, I guess you can have the imposter syndrome even when you are just starting to learn.

![A person saying: I know how that feels](https://media.giphy.com/media/NPI4GWalCHr5VKgwbl/giphy.gif)

The reality is that now that I have been learning to code for more than a year  I know that it is in effect hard but not impossible and that anyone who really likes the idea of programming and that is willing to spend time in doing so, can learn to code, you just have to be persistent and keep going! 

If you are new to coding hopefully the following steps can help you structure your learning path and can help you avoid giving up when trying to learn how to code by yourself.


##**1.	Have a project in mind that you would like to build**


One of the best ways to keep anyone hooked when learning something new is to have in mind something that you want to do with that knowledge that excites you. When you start to learn coding, everything seems confusing and even when you understand something you start feeling that you won’t be able to know when to use it, not quitting is the hardest part of self-learning. Having something to build in mind will be the anchor that will keep you going and later will also help you understand things better when you start building it. 
As obvious as it may seem, when you finish building that idea you will be proud of yourself and at least, for a moment, you will forget about that imposter syndrome! In my case this was an internal web app for the company I was working which I manage to build and was what made me decide to become a Web Developer.

##**2.	Pick a programming language**

Depending on what your main goal or reason for starting to learn to code is, you should decide what programming language you will like to have knowledge on. Each programming language are used for different types of things, for example:

•	If you are interested in data science or machine learning you should probably learn Python or R.
•	If you are interested in mobile applications you could learn Kotlin, Flutter or Swift.
•	If you are interested in web development you should learn HTML, CSS and JavaScript.

There are hundreds of different programming languages. I suggest you make some research depending on what your idea is and decide which programming language would be better when making your project a reality.


##**3.	Learn and master the basics first**

You have to learn how to walk before you can run. Now that you have decided what you want to learn and that you have clearly identified what programming language you will use, you have to start with the basics. Sometimes people want to go rapidly through these basic concepts and start more complex topics but the truth is complex topics are usually the basic stuff just applied together. I would say this is one of the most important steps when learning to code, be sure you understand the basics perfectly in order to understand more complex topics easier.

There are a lot of resources where you can start to learn online for free. You can take advantage of the free courses offered on [freeCodeCamp](https://www.freecodecamp.org/) and [edX](https://www.edx.org). I would suggest to take a course on logic and computational thinking before learning any specific programming language in order to understand how the computer thinks which will help you understand everything later. After all, a programming language is a set of instructions given to the computer in order to get a result.
 
Learning the basics is important in order to start building something and, at the same time, it will also let you know if coding is for you. Everyone struggles at first when learning (even after learning the basics) but during this process you would realize if you enjoy coding going through this learning experience or not. In the end, you never stop learning how to code.


##**4.	Do tutorials where you learn how to build stuff. Be persistent**

After understanding the basics of any programming language start building things by following tutorials! Do tutorials of things related to what you want to build. You will probably feel that you are just following a sequence of steps that someone is telling you to do and that you maybe didn’t completely understand, but even if you don’t notice it at first, it will help you understand better the process of using the basics of what you have learned. There are a lot of free tutorials on YouTube or you could buy an online course at sites like [Udemy](https://www.udemy.com/) or [Udacity](https://www.udacity.com). The key here is to be **persistent and consistent**, making this practice part of your daily routine.


##**5.	Build things you like and don’t be afraid of breaking things!**

Start trying to build what you had in mind at the beginning of this journey. If it’s too ambitious, then try building smaller parts of it or think of another simpler project that excites you. Projects help you shape the material and definitions you have been learning and will link all your knowledge into practical and tangible things.
Don’t be afraid to break things. Having projects and building things is the best way to learn and understand concepts. Remember is just code if something breaks then you can always go back and fix it, but breaking things will help you understand better what to do, what to not do and how to fix problems. Every project you build will help you boost your confidence and will keep you excited to keep on going!


##**6.	Keep learning and building things!**

As I said, no one ever stops learning to code. As everything these days, everyday there is something new to learn or a new way of doing things. Maybe you don’t think so, but even the most expert programmers have lots of things to still learn. There are sites like [Pluralsight](https://www.pluralsight.com), [DataCamp](https://www.datacamp.com) and [Codecademy](https://www.codecademy.com) that have a lot of content and practices for a monthly fee or just continue learning from any free tutorials you find online. The important thing is to never stop learning and keep building new projects with whatever you learn!