Fundamentals
Learn the basics of what you need to do. Sometimes these basics will take you a long time, and take you a lot of practice. Trust that with time and practice, you will understand these basics and give you a good foundation for the more complex topics you will learn as you progress.
Let’s say I want to learn how to drive. I can’t just get in a car, turn the key and go. Yes, in some ways I can, but what if the car doesn’t start? What if I arrive at the car and the tyre is flat? If I start driving, and I break down or run out of fuel, what do I do? Learning the fundamentals first - how your car works, how to fix your tyre, who to call if you have a problem while you are out driving. All of these things set up a good foundation so that when you do finally get in that car and start actually driving, you know what to do if something is not how it should be.
Breaking things down into smaller tasks
I want to bake a wedding cake, including all the fancy decorations that go along with it. Wow. That’s a huge ask! But is it?
What kind of cake is inside it? It’s just sponge cake? Okay, I’ll look into how to make that sponge cake. It’s not too difficult - a straightforward recipe. What about the filling? How much should I use? Okay, I’ll look that up too. The icing and making that is another smaller task. The decorations are in themselves each another smaller task. When we take a huge task and turn it into smaller tasks, it becomes a much more manageable task to be able to do. Don’t just dive in headfirst because before you know it, you’ll be out of your depth and struggling to stay afloat!
Practice and repetition
Don’t underestimate the value that these have. Do you think you know how to do something? Prove it! Practice the task over and over. Firstly, by looking through the notes or videos or tutorials you have. Then, reduce your dependency on them. Only look at them when you struggle with something. This will reinforce that point as your brain will automatically need to find where the problem of doing that thing is solved by the ability to do it, and your brain will link those two things together. We are a species that learns through doing something over and over. It’s tested and proven over millions of years!
Debugging and problem-solving skills
So this one is specific to coding. Debugging is the process of when you have an error, or bug in your code, and find out how to fix it. Another important part of this is putting statements in your code that can ‘catch’ these errors and give the user an idea of what went wrong. That way, when you release your code to a wider audience, they can give you feedback on what that error was so you can work on that code later and fix it to prevent the problem from happening again!
Problem-solving is such a valuable method of learning, also. With coding, find a problem-solving website such as Codingame, and there are many others out there. Or, you can solve math problems with your code. List all the primes between 1 and a number given by the user. Produce the Fibonacci sequence up to a number given by the user. Problems such as these give you the opportunity to not only create code to solve them, but also change this code later as you learn more and improve its efficiency!
Collaboration
For a bigger project, such as a website, you can work with a team. You might each have strengths - JS, HTML, CSS, or you could really test yourself and go for something you don’t know so much about how to do and learn by asking those in your team for tips. It can be both a way to reinforce your learning and to learn new things! Plus the process of collaboration helps you to teach others which in itself is a very good way of learning something. Proving you can show another really shows that you know it yourself and can further strengthen that link in knowledge.
Learning from others
Other people will often know how to do that thing you are trying to learn, not even necessarily how to code! Learning how to play the guitar or the piano, or how to draw! Those people will have tips they can give you to help you streamline your learning process. Things they suggest you don’t do that slowed them down, or resources they used to learn which can help save you from having to buy that book that maybe isn’t so good, or watching that 9-hour video which only has 1 hour of useful content. This in itself also helps the person who is teaching you, learn more too!
Using online resources
There are many ways online to learn something new. Youtube has become a phenomenal success in its ability to give anyone a chance to teach. This doesn’t mean that every video will be of quality content, but each one is important to appreciate. I do highly recommend though that as part of your Collaborative efforts as I mentioned earlier, you take advice from those more experienced about the online resources they used. Asides from Youtube, I also recommend the following resources:
Staying current with technology
In an overall sense, this means we should keep ourselves aware of the newest technologies because these are often the most efficient way to do things, and this will serve to help you have the most recent resources online to learn about it. People are most likely to teach and collaborate on the latest software or hardware. Hardware is less important really unless your project does include a large hardware aspect to it - for example, if you’re creating a mobile application and it relies on the latest phone hardware, you would want your software to be able to support that hardware to have the best reach possible.
Building personal projects
This all culminates then, in creating your own project. What’s that one thing you want to create. It doesn’t need to be coding. It could be a cake. It could be a meal. It could be a piece of art. Whatever it is, sit down,
Look at the project as a whole, figuring out what it requires and what the end product looks like. It doesn’t necessarily need to be a complete vision, but you should have goals you want to reach.
Break that down into its smaller parts. See the small stepping stones to creating your larger project.
Are there parts you don’t know how to do? Use resources online to learn about them. If they are WAY out of your knowledge, then take a step back. Maybe you want to get a friend to help you and collaborate, or find a course online on Youtube, or a book, and teach yourself that part, until you are confident you have the skills to be able to tackle it.
If it is a coding project, ask if there are friends or people you know who would be willing to test it out for you. They are likely to find the things you won’t be able to find during your own testing.
I can’t stress this point enough. TAKE. BREAKS. No good will come of you spending 15 hours a day on your project. Always remember that your body and your mind can only cope with so much. Eat well. Hydrate well and regularly. Take small breaks often and ensure you take a few large breaks during the day. Don’t try and do a full day at work and then 5 or 6 hours when you get home, it isn’t healthy. Sleep properly. Get into a good routine of looking after yourself. I guarantee you will feel better for it.
- I also recommend trying to do some form of at least light exercise. Whilst we exercise, especially if our mind is rushing, it gives our mind the literal space it needs to be able to process this. You never know, you might have that ‘EUREKA!’ moment on that walk that will help you figure out something you’ve been struggling with.
If you’re stuck, stop. Don’t hammer through it. Ask a friend for help, or just stop for the day and sleep. Our mind, while we sleep, makes those links of the knowledge we have learned. I can’t count the amount of times I’ve figured something out because it comes to me when I wake up in the morning.
Balance learning with personal experience
On your learning journey, don’t just watch hours and hours of tutorials. You’ve learnt how to play around with arrays? Go and do some exercises on arrays. Do it until you’re confident you can tackle any common problem with them. Tackle some very hard ones, and figure out the parts you don’t know. Can you do it efficiently? Go for it! That balance is what will reinforce, and I stress that word, REINFORCE, that knowledge in our mind because our brain will be able to link the knowledge to the skill.
BELIEVE IN YOURSELF. The journey might be short, it might be long but it is worth it. Don’t ever compare yourself to others, as their aptitude for different skills will vary. Only compare yourself today to yourself yesterday. Don’t treat your struggles as failures. We commonly learn more when we figure out where we went wrong. The only reason we know how to walk is because we fell a lot when we were babies. Trust in that process and I promise that you will see results.
I’d love to hear your feedback, your journeys and your achievements.
I appreciate all of you ❤️