Techniques For Learning a New Technology Or a New Tool

In the field of technology, there is always so much to learn and explore. Most of us get overwhelmed by the number of technologies that we want to or need to learn. We all have been in a situation where we have learnt a technology or a tool but only that tool might not be enough to create a project that we want to complete. There might not be the necessity to learn but still, we push ourselves to learn new technology or more technologies that we have not used before due to the fear that something else might be the next big thing and you might have to switch in a rush. We also learn new technology or tool to become problem solvers, not just a trained professional who specializes in using a particular tool. So, what approach to take while learning a new tool or technology? I am going to say a few techniques that I have tried. I am also going to say if it is appropriate or not. I hope it helps you.

Technologies

Note: Tools and technologies in this blog refer to languages, libraries or frameworks in this blog.

Watching tutorials

If you have been in a situation where you watch a tutorial then the next and then the next till you realize that you have reached tutorial hell then raise your hands. This is the problem with watching tutorial videos. You get addicted to them and when you have to try something on your own, you don't be able to because you're not trained to that mindset. I have been in similar situations and I know how frustrating that gets overtime. Nowadays, I am trying to move away from the tutorials and I don't mean I avoid them completely. I take a slightly different approach than what I have done up to the moment. So the way I make use of tutorials is to watch crash courses on youtube and jumping on a personal pet project instead of a full 20+ hours of project-based tutorial learning. I also watch videos on advanced topics on some tool. I like videos from the youtube channel named funfunfunction. He doesn't create a tutorial but talks about concepts on JS mostly.

Official Documentation

People and organization that create a tool want more people to use that tool. In order to do that, they have to create great documentation which everyone can understand so that more people try to adopt the technology. I want to admit it shamelessly that this approach has mostly failed me. However, there is a slightly different approach that has worked quite well. In almost every documentation, there is a section with tutorials that walks you through all the necessary concepts of that technology. This approach is quite nice as you will have a project to build along with learning that particular technology.

![ReactJS](images/react-js.png 'React JS')

Interactive Tutorials/Resources

This includes site like FreeCodeCamp or Codecademy etc. These sites give you resources to read on the side of the screen followed by a challenge to solve as you go through the resources to learn the technology. This is quite an awesome way to learn and in fact, I seriously started learning programming with JavaScript through FreeCodeCamp. This approach not just gives you the content but a challenge to solve as soon as you complete the content to study. This improves you to think differently and your mindset will not be fixed to tutorials only. A lot of times I have seen people who go through the tutorial and complete it but when asked to solve a problem out of the tutorial, they struggle. So it is really important to not just follow the tutorial but also to develop a problem-solving mindset and I think Interactive tutorials do just that.

![FreeCodeCamp](images/freecodecamp.png 'FreeCodeCamp')

Building Projects

I have enrolled in an internship and there I was able to learn quite a lot with this approach to learn new technology. So this approach starts with a project in mind. You think of a project or a problem and then understand the application's requirement then you approach the application, feature by feature. You learn a lot with this approach but I would not really recommend it to you unless you have a mentor who could help you while you do so.

If you learn with this approach then you'll learn what feature of a language/library/framework you must specialize on. You will have a project to complete and show it to people. It also helps you build your portfolio. So, if you have a mentor, this is the best approach one can take to learn new technology.

I will cover more on this topic on my next blog. It will be dedicated blog for this approach.

Conclusion

In a world where everything is changing and new things coming every single time, it is really difficult to keep up with our knowledge and expertise. We must adapt to be familiar with new technologies all the time. There is no other way around it so we must get used to doing this all the time. It is also important to figure out what technique of learning helps you the best so that when the time comes, you can easily make the switch. In this blog, I tried to mention a few that have helped me to learn new technologies. I hope it helps you too.

Glad you stuck around for this long and I am really sorry for not being able to upload contents on this blog regularly. I am planning something with the site and some other things too and I hope to be more regular with the content I post on this blog.