Table of Contents
If you want to learn how to code, taking your first steps might seem daunting, if not intimidating. It is also easy to get sucked down paths that could waste a lot of your time, and money. Here are some tips that will help you make this task easier. Use these tips so you can learn to code in less time.
How to Learn to Code Part 2.
Set clear goals
Setting clear goals is the first thing you should do when you decide to learn to code, or anything else. You should do his before you write your first line of code. Why? There are at least three reasons. First, clear goals will help you create a better and more precise plan or roadmap for learning.
Clear goals help you create better learning plan
This can be very useful. Deciding you will learn to code is quick and easy. Unfortunately, as a goal it is very vague. What do you want to be able to code? Do you want to learn to code an app? Or, do you want to learn to code a website? Do you have a specific platform or OS in mind? Another thing is level of expertise you want to reach.
Do you want to learn just the basics? Or, do you want to learn enough so you can become advanced or senior developer? Also, how much time are you willing to dedicate to learning? Will you give it just a few hours a week? Or, will dedicate some time every day to learn to code? Getting clear about how much time will you invest in learning is important.
The more time you dedicate to this goal the more and faster you can learn and the faster you can progress. Next, how serious are you about this goal, to learn to code? Is this going to be your hobby? Do you want to do it as your job? Is it something you are not sure about? Finally, what resources do you have available?
Do you have a computer? Or, do you have access to computer? Do you have stable access to internet? Do you have books about learning to code and programming? Answers to these questions will help you clarify your goal. This, in turn, will help you reach your overall goal, to learn to code faster.
Clear goals will help you track your progress
It is hard to track your progress when you don’t really know where you are going. Having clear goals will help you with this. When you know exactly what is your goal, what you want to achieve, it is much easier to track your progress. It is also easier to make sure you are on the track, learning what is necessary to learn to code.
Clear goals also help you quickly find out if what you do is working, if you are making progress in the right direction. Otherwise, you could waste dozens of hours making no progress at all, not knowing you are doing anything wrong. With goals, you can make corrections any time you think you are moving in the right direction.
Clear goals will help you stay motivated
It can be very exciting to decide you will learn to code. However, this is a goal that requires a lot of time and effort. You will not reach it in the matter of days or weeks. It usually takes months to really learn to code, to understand all concepts, the syntax and to be able to write your own programs.
This is what makes learning to code hard. It is not a specific programming language. It is the amount of time and effort one has to put in. This is why being motivated is very important. It helps you keep going and, at least temporarily, forget the effort and struggles. Clear goals can help you with this.
When you set clear goals, you can watch your progress. Seeing you making stable progress can help you keep yourself motivated. You are not second-guessing anything. You have feedback you are learning, you are getting better. You learn something and you can check it off on your list. As a reward you get a nice dose of motivation.
Get clear about your goals to learn to code faster
So, before you write your first line of code, get clear about your goals. What exactly do you want to learn to code, i.e. app, website, program. Think about the time you dedicate to it. Then, use this data to adjust your learning plan and expectations and create sub-goals. Also, think about your motivation. Why do you want to learn to code?
Learning to code may not be the easiest thing to do, but it is definitely not the hardest. The hard thing is to keep going, to resist the temptation to give up when you encounter obstacles and struggles. So, make sure you know your why, your motivation to learn to code. This will help you keep going no matter how hard it can be.
Learn by doing
The usual answer to “How can one learn to code?” question is “Read a book”. This is nonsense. Reading a book to learn to code is as useful as reading a book to learn how to cook. It is painfully slow, inefficient and you learn mostly outdated information. What’s worse, first time in the real kitchen and you will see you are screwed.
Books are good for learning from the past, learning theoretical knowledge and entertainment. However, books are not good for learning and building practical skills. It is safe to say that knowledge gained from books never survives the first contact with reality. So, if you want to learn to code, in a reasonable time frame, forget books.
Instead of reading books, spend as much of your time writing the code. The best and most effective way to learn any skill is by practicing that skills. When you want to learn to ride a bike, you should spend the majority of your time on the bike, trying not to fall. When you want to learn to code, spend the majority of your time writing code.
Learning by doing is harder, but more effective
Yes, this will be harder and less comfortable. This is especially true about the beginning. When you start learning to code, you will probably not like it. You will will probably make a lot of mistakes and it will suck, a lot. Don’t let this discourage you. It is usually true that the harder something is to learn the more you remember it.
Think about the times you learn something the really hard way. For example, learning how to ride a bike, to swim or even to walk. All these lessons were painful, not to mention riding a skateboard. Have you ever tried to learn to ride a skateboard? If yes, you know how painful learning can be.
That being said, all these lessons were also incredibly sticky. It took you a lot of time to forget them, if you managed to forget them at all. On the other hand, how much time it takes to forget something you learned at school? Well, after you spend dozens of hours re-learning it again and again to memorize it.
Always practice what you’ve learned
Apply this observation when you want to learn to code. When you learn something new, be it a new concept or syntax, always dedicate some time to practice. If you only read about something, or watch a tutorial, your ability to remember it will be the best. Your memories will be very fragile and prone to forgetting.
This is why you have to, almost always, re-learn, almost everything, you heard at school later. Only reading, listening or watching will not do the job. At least not if you do it just once or twice. You can re-read/listen/watch it again and again until you can recall everything. However, you should always follow it up with practice.
There is no way to avoid practice, unless you want to spend next year or two trying to learn to code. In that case, you can focus solely on reading, listening and watching without writing a single line of code. If you want to learn to code faster do the opposite. Focus the majority of your time and attention on doing, on writing the code.
Learn by working on personal projects
One of the most effective way to learn to code is by working on personal projects. This may seem like a paradox. How can you learn to code by coding something if you don’t know how to code? It doesn’t matter you don’t know how to code, you don’t know any language. It is the goal of the project to teach it to you.
The goal of working on personal projects is to teach you everything you need to know as you go. It is like going to the water when you don’t know how to swim. You will how to swim there, in the water. So, ignore your doubts. Ignore those quiet voices in your head telling you that you can’t do this. You can.
Learning by working on projects is more effective
There are few things that can help you learn faster, such as firsthand experience, immediate feedback, specificity, challenge, high stakes. Learning by working on projects contains all of these things. Firsthand experience? When you learn to code by working on a project firsthand experience is inevitable. You simply have to write the code.
Immediate feedback? When your code contains a bug it doesn’t work. Or, doesn’t work as you expect. Is there a more direct, and ruthless, way to give feedback? Specificity? You are working on a specific project, learning specific programming languages, frameworks and concepts. You can hardly be more specific than that.
What about challenge? You are trying to code something even though you know nothing about how to code. This definitely a sufficient challenge. High stakes? Okay, this can be tricky. One thing that may be in stake is your time. You can spend hours, days even weeks working on something you will actually never be able to finish.
Other than that, you could raise the stakes another way. You could announce it publicly that you are trying to learn to code. You could tell your friends or family about the project you are working on. Then, if you fail, people will know about it. Maybe, you could even bet with someone. Then, if you fail you will have to pay, or do something.
High stakes or not, these four, firsthand experience, immediate feedback, specificity, challenge, are what makes this method so effective. This is also one reason Bootcamps are so popular. Bootcamps teach you in the same way, they teach you by throwing you into it. You have to learn on the go. You either learn to swim or you drown.
Create a project for yourself, do the research and start coding
So, when you decide you want to learn to code, was there something specific you wanted to create? Do you have some interesting idea you would like to realize? Great. It is much better to work on a project you are personally interested in. If you don’t have any idea, pick something random or get inspiration from one those “build clone of …” tutorials.
Understand what will you need to learn
The next step is doing the research. Before you can start working on your project, you have to know what you need to learn. Meaning, you need to know what is necessary to finish that project. So, take some time and search on the web for things (knowledge) that may be necessary for your project.
For example, do you need to know front-end, back-end or app development? What programming languages will you need to use, and learn? Will you need to use any framework? Also, what about databases? Will you focus only on one side of the project, such as front-end or back-end? Or, will you go full-stack and learn it all?
Create a concrete learning plan
Now you know what tech stack you are going to use. Next step is about creating a plan. It would be a suicide to try to learn everything at the same moment. The result would be a pile of mess and chaos. Better approach is to divide your project into few separate paths, and focusing on each of these paths individually, one at a time.
For example, let’s say you want to build a website, front-end as well as back-end. In that case, you can create one path for front-end and another one for back-end. Then, you dedicate some time solely to the front-end path. You can either finish it or work on it for a specific time. Then, you switch your focus solely to the back-end path.
There is no multitasking or constant switching from one path to another. That would only lead to previously mentioned pile of mess and chaos. Yes, could finish the project this way. However, you would not learn to code, at least not very well. Skills such as learning to code requires focus, concentration and specificity.
Specificity is also why you did your research. It is not enough to know what approximately you want to build. You have to be specific. You have to pick specific programming language(s) and frameworks. Then, you have to create a specific path to learn what you need about those languages and frameworks, to learn the syntax and how to use it.
Focus on what is the most important
Get clear about the language(s) and frameworks you need to learn. Then, find out what parts and concepts of that language or framework are the most important to start and finish your project. This is the type of knowledge you must focus on. Now, the most important thing is to get started. Everything else is secondary.
Don’t overwhelm yourself with tones of information about every tiny detail about the language or framework you are going to learn. Instead, focus only on information you really need for the work on your project. Will this help you learn everything? No. When you learned how to speak your native language did you read the whole dictionary? No.
You learned only the most useful words, words that helped you communicate. If you need to add some new, you learned it. However, you didn’t spend months or years memorizing the whole dictionary. You learned enough to speak and communicate. The same applies here. You need to learn just enough to get up and get going.
So, don’t try to learn everything. There will be a lot of time, and opportunities, to learn all that less important stuff in the future. For now, focus only on what is the most important. Focus only on what will help you start writing code and what will help you finish your project. This is the number one priority at this moment.
Then, after you write your first lines of code and finish your project, you can focus on the topics that were less important. Then, you can focus on learning all the nuances of that programming language or framework. Until then, don’t waste your time.
Epilogue: How to learn to code
These were the first three tips that will help you learn to code. With these tips, you can learn to code in less time because you focus on the most effective ways to learn. Now, it is up to you to use these tips. Start with setting clear goals for yourself. Get specific on what you want to learn, why and how much time will you dedicate to it.
Next, focus on learning by doing. This is, by far, the most effective way to learn, anything. So, don’t waste your time hoarding books and tutorials. Instead, create a personal project for yourself. It can be something you always wanted to build. Or, it can be something totally random, like a clone of some existing app, web or program.
It doesn’t matter what it is. What matters is that it will be you who will code it. So, pick some project you find interesting. Next, do the research so you know what tech stack will you use and what will you have to learn. Then, create a concrete path to learn all you need. After that, start. Write your first lines of code.
Remember, the most important thing is to get started. Everything else is a waste of your time if you don’t make this final step. So, don’t delay it. This also applies to doing the project research. It is better to start even if you don’t knowing everything than to wait. Now, just start. Remember, you can figure out everything as you go.
If you liked this article, please subscribe so you don't miss any future post.
If you'd like to support me and this blog, you can become a patron, or you can buy me a coffee 🙂