There is a common notion that learning hard stuff is always hard and you need to take up the hard path for it. Last few years, I’ve spent a good amount of time every week to learn the titbits of web development and various aspects of machine learning. The subject is tough but I was determined to be master them.
Web development and machine learning don’t follow a fixed path. The languages are diverse so also their basic features. There are Java, JavaScript, HTML, Python, PHP, and so many. I chose the most essential ones and started self-learning. I had the basic knowledge of programming, knew some concepts of C++ and a mix of some other languages. But my determination to become a professional web developer swayed me to accept the challenge.
It took me almost 8 months to learn the entire process of web development. It was a nice journey with lots of unknown challenges. Here, I’m sharing my experience and how I proceeded step-by-step. You will find it interesting and useful in your life too.
Step 1: Use the Subject Before You Go Deeper into it
The first step before you starts learning a new technology is to start using it. This makes any hard subject rather easier because you already experienced its basic aspects.
Now, as you start learning it follow a video tutorial or a tutorial with infographics. It helps to learn the lessons step-by-step. Follow the tutorial while learning how to code with a new language; don’t skip any step that the tutor recommends. Take short notes wherever you find anything tough and you think you need more knowledge on that aspect.
Your learning in this way will be complete when you will be able to create and run a small project on your own. You can refer to YouTube for a good video tutorial. Again, there are MOOC for complete learning. Yet, YouTube is the most flexible option I think.
Some experts suggested me to read the theories at first and then learn applications. It didn’t work for me as I found it boring and unnecessary. When you want to learn hard stuff and if this is a software technology, understanding applications is more important than learning the theories.
While following a tutorial, it is never possible to understand every aspect with equal flair. It is natural. Write it down and save it for the next step.
The purpose of the first step is to follow the tutorial even if it seems confusing or some aspects of it seem tough.
I got some amazing benefits from this application-based learning:
Building new projects from the very beginning
You start applying new stuff from the very beginning. If I had followed the theoretical path it would have taken a long way. It made my learning journey pleasing and satisfactory.
Tutorials provide sample code
Sample code helps to recapitulate what you learned before. So, you can refer them anytime and refresh your memory.
Find tougher aspects
Application-based learning helps you to understand which areas of the subject need more attention and practice. As you go on coding, the whole picture becomes clear to you.
It is quite evident before you start you have no idea which parts of the subject will be challenging. These parts will require some extra attention from you. These challenges will not unfold all of a sudden. They are like roadblocks, as you proceed forward these challenges are revealed to you.
Step 2: Your Struggles Need Proper Attention
As you complete some tutorials as stated in the previous step, you’ll get some basic concepts of the subject. An overall idea of how it works becomes clear to you. Some confusion may also arise. Now, this is the time when you should clear your confusions. There is no specific format that you can follow.
I found books, official websites of the respective companies, and case studies very useful. It is always workable to cross-check from two different sources for a challenging part. In some cases, I stepped back to the first stage and refreshed my basic concept to clear a tough part.
Step 3: Design Your Own Project
This is the last step of your learning process. After completing the first two steps successfully, you have to design a project and work on it. If you can implement it successfully, your learning is complete. In my case, I found designing a new project is a splendid idea of getting comprehensive knowledge of the language (subject).
In many instances, I had to revisit the first two steps to clarify some aspects of a language. You can ignore some topics in the previous two steps but in this step, there is no way of ignoring anything. You are building a project that can be useful to the respective industry so you cannot overlook anything.
Conclusion
While there are times when I start out with step 1 and end up with step 3. I do tend to jump back and forth when I’m in the middle of any learning process. The value point is just that they’re equally important ingredients in learning a new skill set. Good luck with your endeavours!