"It's not possible for you not to get stuck, except you must have paid for the best courses and used the best tools", so some may think. But that's the opposite of my reality. I didn't pay for any courses I used w3schools to get started and guess what? I never had a laptop when I started learning. And it's not that I was a guru or something. When I started I didn't even know programming was a thing, I used to call it networking :).
These are the interesting things I am going to be talking about
- What inspired me to learn to code
- The roadmap I took without knowing there was a roadmap
- How I started learning to code without a laptop
- What kept my inspiration alive
About two to three years ago, I wanted to rebuild the app that was popularly used in my church. Because of that, in early 2019, when I got an android phone, I started making research. It's funny how I started researching web development (I called it creating websites from scratch back then) when I wanted to build a mobile app. I clearly didn't know what I was doing, but something was leading me to the right path.
Do you know why I had to start typing creating a website from scratch on Google? Because I was first misled to WordPress, and I almost wasted months on WordPress before discovering that WordPress isn't what I wanted. Though I liked WordPress, I mean I admired it, but it wasn't for what I wanted, so I walked away.
Finally, I stumbled into w3schools HTML tutorial. I looked at the introduction page, I also saw the things HTML and CSS could do from a youtube video! So I was interested in learning them. So building a mobile app is what inspired, pushed me to learn to code.
I remember when I was done with HTML, I started CSS, three days into CSS, I stopped CSS. I got interested in Python, so I started learning Python. It wasn't up to a day something pushed my head away from Python back to CSS because I felt like I was being a failure, giving up on CSS so easily.
A reminder that Codecademy is one of the best free platforms for learning to code. They have a tool that will give you a roadmap based on what interests you the most. You don't wanna end up like me who had no idea where He was going.
As essential as a laptop can be, it is not a prerequisite to start learning to code, especially web development languages. You may say "well you can learn quite alright, but you won't be able to build projects and stuff." Hmmm. That is so wrong, I have seen projects (like portfolios) that were built with mobile devices.
This is a very important and difficult aspect. It is easy to plan a time to study, but it is difficult to stay consistent with it. I made up my mind that I was going to cover at least two sub-topics (using w3schools) of a language daily.
Truth is, I wasn't always consistent with it. There were days I wouldn't even study at all, I mean if this is you it's fine, I have been there. People run and fall most times, but the point is how quickly can you recognize that you fell and that you have to get up.
Set out a time for studying, and try to make sure that you do it daily. And remember if you should miss a day or two or more for some reason, you should always get back to your routine.
Here is a tip: Don't abandon your study for too long, else when you come back you may struggle with relating the things you are about to learn with those you already learned. Because chances are you won't even remember most of the things you already learned.
Not having a notebook to jot down points while learning is a great way to get stuck and remain stuck. This is one of the things I am proud I started from the very beginning. Every subtopic, explanation, sometimes code were jotted down in my notebook.
Most times when I forget something while coding, I always find myself going to my notebook first. There are wonderful documentations and write up on different programming languages. But nothing is as good as what you wrote for yourself, because you would easily understand it.
One other beautiful thing about jotting down is how it makes you meditate on what you just read. So when you read something, you jot down the points, and as you do so your mind will reiterate what you just read. This can help you remember easily.
So you want to learn HTML? Get a book for HTML, jot down the points. Do the same for the other languages. I hope in the future I will write an article on some of the important things you should jot down in different languages and also show you the irrelevant ones to ignore.
Just as I studied daily (or try to study daily), I also revised my daily. This is where practice comes in. At this point, I don't need to go to the website again, I simply use my notebook.
When I revise, I don't necessarily read my notebook as though am reading a novel. When a read a point, I put that point into code. I further explain it to myself in code.
It is said that one of the best ways to learn more or understand better is to teach. I practiced this.
Though I didn't have an audience to teach, I had me to teach. I would teach myself over and over both in code and on a whiteboard. You may not have to do it like mine, you may have an audience, teach them, try to make them understand. Your audience can be your pet, your audience can be your Twitter followers, or on a blog.
Practicing in code is very important. If the course or tutorial shows you just one code. Try recreating that code and then do more. The more you do it, the more it becomes clearer and the more it will stick with you.
It organizes your code very well, that's why I mostly used it for building mini projects (not just for practicing a concept) like Calculator, To-Do, etc.
The reason has been clearly stated above. You don't need a mentor to learn to program by yourself.
You can convert the things I have shared with you into simple rules for learning programming. It would work any time and with any language. So what are these rules? I will quickly reiterate all that was said.
- Plan a study time for each day and try to be consistent at it.
- Have a notebook for jotting down points.
- Explain what you have studied to yourself or an audience.
- Put in code what you have studied, it worked? Make another example. It didn't work? Try again.
These are not things I learned from a blog post or someone, this is my experience. These are the things I did, that worked for me. So you shouldn't say "it is easier said than done" if someone already did it, why can't you?
Just a quick tip: Don't try to study everything at once. Don't try to impress a friend by pushing yourself to learn HTML in one week. It's not worth it.
This is why you should be careful about the things you read or hear (in blog posts or youtube videos), and be careful about the things you believe from what you read or heard. These things can either destroy you or develop you.
So if you believe in getting stuck while learning, and then get stuck, using a platform like Codecademy is of great importance. With Codecademy you can get unstuck with hints, already asked questions in the forum relating to what you are stuck with, you can also get unstuck with an actual and similar example.
This question has been asked severally by beginners. How do I stay motivated? This depends. For me, it is honestly not what inspired me to learn to code that kept me inspired.
Coding was interesting to me, so I wanted to learn more to be able to do more. One of the ways I stayed inspired was by looking forward to making a project. I am not talking about complex and big projects, it was always mini projects like calculators, To-do, etc.
When I was unable to do some of these projects, I'd go on to study and practice more. Another approach I used was playing with exercises. W3resource was my favorite (it's still my favorite).
I'd go there to get simple exercises that relate to what I have studied and then try them out. When I don't get it, I'd always go back to study more.
Some projects and exercises required what I haven't studied, so I'd always say to the project or exercise, "when I study more, I will come back to you," that way, I was always eager to learn more. These were the simple things that kept me going.
Because I understand how important exercises were to me, I have created a web application for that purpose. This article is not about it, but I just want to let you know it would launched soon. It is a very interactive way to keep practicing.
Quick Tip: Using Codecademy pro, you can practice with projects that are related to the module (or sub-topic) that you've studied. As a free user, you will also have access to exercises related to that sub-topic. Try it.
These aren't things to sweeten or anger your heart. This is reality and it is very simple to work by. As I said, it's not something someone motivated me with, and then without trying it am telling you to do it. It is something someone has been doing, my experience. So if you want to chose to do this, am saying it is easy.
If you don't have a laptop, you can start learning with a smartphone. If you don't have a smartphone, hmmm, may God be with you. I mean you should have a smartphone, they are pretty easy to get these days.
Alright, that's it for today. Thank you for reading. If you find this article useful, please give it a like and share as well. Also, let me know of your experience in the comment section.
Ahhh lastly, there is a Hackathon (Qubators Hackathon) that I participated in, if you don't mind I'd like to demand a vote from you. Simply click here, search for Team MaGoner (number 32) and click vote. Thank you in advance.