We're already over 6 months into 2021. This means you've got over 5 months to learn to code!
Learning to code can change your life - you'll be able to do whatever you want, be it changing a career, automating your tasks, or building a side project.
I bet you have one problem - not enough time. To make things worse, there are countless resources; you don't even know where to start. It's overwhelming.
Often learning to code full-time is not an option; you need a time-effective approach. Let me guide you through setting your goals and routine to maximize your chance of success.
Decide why and what you want to learn
Your why and what are essential. Learning to code will take a substantial chunk of your free time; to stay motivated along the way, you have to convince yourself it's worth it. Some of the reasons to learn to code are:
- Become a software developer.
- Build a mobile application.
- Enhance your skills.
- Create eCommerce.
You have to pick your own reason. Recalling your motivation in times of struggle will give you the energy to keep going.
Your why will also determine your what. If you want to:
- Change a career- consider learning web development.
- Build a mobile app - consider learning mobile development.
- Grow in current job - consider learning Python or R programming language.
- Create eCommerce - consider learning WooCommerce.
Remember that if you want to become an entrepreneur learning to code may not be the best choice. The popularity of no-code tools skyrockets. Maybe you can validate your startup ideas using those tools.
Learning how to use no-code will take days or weeks while learning to code is a task for months or years.
A word of caution.
You'll find a lot of "you have to learn X" advice on the Internet. Don't listen to it; you don't. What you have to learn are the tools required to achieve your goals. Other people don't know your goals, so their advice may not be valid. Think for yourself.
Make a plan
You know why and what you want to learn. It's time to do some research and devise a learning plan.
Find out what you need to learn
Start with googling. Devote a few days to looking for all the general information you can get. For example, if you want to build websites, look for "how to build a website." Watch or read tutorials about the industry, note what tools are repeatedly mentioned.
Other fields have other tools, but the essentials list is usually short. A handful of tools covers 90% of use-cases. And you don't even need to master those tools; you need to be competent.
Set your goals
You know more or less what you need to learn. Now you have to divide it into manageable knowledge bites. Two rules should govern your planning - start simple and focus on one thing at a time.
Your task is to set specific and realistic goals. Ignore everything besides the step you're about to take. Based on your previous research, assign some time for each thing you want to learn. It will be only a rough estimate, as you don't know how fast you'll move. But it will give you a high-level overview of the time you'll need to achieve what you want.
Along the way, you'll adjust your plan. It's fine. Everything you need right now is to have a bird's eye view of the things to learn in the next few months.
Build a habit
You have your learning plan, and now you need to implement it. Day-to-day struggle is the hardest part; you have to approach it the smart way.
The best thing you can do is build a programming habit. When you do that, learning every day will stop being a chore - it will become something you do.
Many people want to code, but they think they don't have time daily. Sure, they can have every other weekend free, so they reason like that - I'll learn 16 hours in two days every two weeks, on average it's more than an hour a day.
The sad reality is your progress doesn't care about the averages.
You can't go to the gym once a week and expect to become an athlete. You can't code once a week and become a software developer. Learning doesn't work this way.
In the days between your practice, you'll forget everything. What's more, you can't efficiently learn for many hours straight. You'll be too tired to benefit from the materials.
To learn effectively, you have to do it regularly. It's more efficient to learn an hour a day than seven hours once a week. Of course, if you've got more spare time on the weekends, use that time too. But try to devote some time to learning every day, even if on some days it's only 15 minutes.
Trust the process
You will fail. You'll get discouraged. Your outcomes will vary. On some days, you'll feel like a rockstar who can learn anything in no time. On other days, you'll feel like the stupidest person on Earth, who will never learn to code.
Programming is hard, and so is learning. It's also easy to set your expectations too high and disappoint quickly. There is no silver bullet, no technique that will guarantee your success. But one thing helped me and many others to stay motivated - focusing on the process, not the outcomes.
Outcomes are something you can't control. You can plan to master the HTML forms in a week. But when the week passes, and you find out, you still don't understand them. It seems like a failure. But it's a failure only because you decided to measure your progress by outcomes.
Instead, concentrate on the process. For example, learning HTML for an hour a day. It has to be active and focused learning, the hour in which you give your all to master the subject. And after a week, if you learned every day, you succeeded. Maybe you mastered the forms. Maybe it will take a few more days. The important thing is you stuck to the routine - it means you achieved your goal.
Trust the process, and the success will come.
Learning to code is an overwhelming experience. Certainly, it was for me. But it's also rewarding. I changed my life through code; don't you think it's worth a shot?