Skip to content

Learn how to learn a new technology - React as an example -

Published: at 04:00 PM
Time to read: 18 min
Author: Mouad Nassri
Featured image for Learn how to learn a new technology - People learning -

Outline:

  1. Introduction
  2. It’s all about mindset
  3. Where and how to learn
  4. Mistakes that I’ve made and how to avoid them
  5. Conclusion

Introduction

Technology nowadays moves faster than light, and many studies have shown that knowledge is doubling every 1 or 2 years. In the near future, it could be every 12 hours, especially in science and technology.

Every day, we see new programming languages and libraries emerging. It is important to keep yourself up-to-date with the latest technologies that are in demand in the market. However, developers or those who want to start learning programming, frameworks, or libraries often find themselves in a vast sea of information and websites, which can be very overwhelming and daunting.

Whether you are a beginner or an experienced developer, you may find valuable information in this article. I will share tips and mistakes I have made to help you avoid them and save you a lot of time and effort. This will make your learning path easier and more enjoyable.

Since we took React as an example, we will use it in every section of the article to clarify the concepts and points with a real-world example instead of talking theoretically.

2. It’s all about mindset

Minset gif image

Mindset is a key factor in learning anything in life, especially technology. Without a solid and growth mindset, you’ll find many difficulties, and you may end up forgetting what you’ve learned and stopping immediately.

The subject of mindset is very broad and can be approached from several perspectives. Since we are discussing mindset from a technology perspective, I will cover the subject in separate points based on importance and provide tips and practices to help you develop a growth-oriented and solid mindset for an easier and more enjoyable learning journey.

2.1 Curiosity

The main reason you are here reading this article, the momentum that pushed you here, is without a doubt curiosity. It is a human nature that everyone has, and as a developer, you need to nurture this energy to be successful and professional in the industry.

One way to develop a curious mindset is by asking questions about everything and trying to understand how technologies and frameworks work behind the scenes. You don’t need to understand everything, but just having this way of thinking will help you improve and strengthen your skills and learn new things.

You should be curious about everything, including the people behind building technologies, how they work, how they think, and the tools and principles they use to write solid code. Learn from anyone, regardless of their gender, color, or religion.

Sometimes, you will find yourself curious about why your code works fine 😅, even in cases where it shouldn’t.

2.2 Things take time

It is important to know that learning a new skill takes time to master and be comfortable using, and programming is no exception. Every technology and framework has a learning curve depending on its complexity and the problems it solves. You need to start from a progressive perspective, learning the basics and understanding its use cases to store what you’ve learned in your long-term memory.

You need to start with the mindset of giving everything its time and not rushing. Learning a wide range of technologies and principles might make the next technology easier, but every technology (and anything in life) needs a dedicated time, concentration, and practice.

2.3 Complete what you start

When you decide to learn something, you need to be clear with yourself from the beginning, dedicate the time and effort to it, and think of it as an investment rather than a linear start-and-end process.

Most people start learning programming or a framework but stop after a couple of days or weeks, dropping everything they learned. Why is that? Because they did not make a plan and a clear vision from the beginning and the don’t have a solid mindset to help them stay focused and driven.

It is normal to feel frustrated and bored during the learning phase, but you have to be patient and set small goals to maintain focus and stay motivated. Knowing that things take time, you start building this solid mindset that will help you during the learning process and keep you motivated.

3. Where and how to start ?

Question gif image

There is no precise place to learn a programming language or framework. Everyone has a preferred way to learn. Some people enjoy watching video tutorials, while others like organized documentation, and so on. Nevertheless, there are some critical points to keep in mind before starting:

  - The way you approach any technology depends on your background and experience. If the technology you want to learn depends on other technologies, you MUST have at least a basic understanding of all the dependent technologies. For example, to learn React, it is mandatory to have a good understanding of JavaScript and a little bit of HTML and CSS.

  - If you prefer to watch video tutorials, you may follow a video series that is not organized, does not include the latest features, or does not cover an advanced topic that is important to know before using the technology. You will end up missing a lot.

  - If you don’t understand English and use your local language to read content about the technology, you may end up missing a lot of content. Most technologies only provide full documentation and tutorials in English.

  - If you like to attend classes where you want to interact and ask direct questions to a tutor, you may want to invest in a course on platforms like Udemy or Coursera and look for a competent professor or experienced developer who can help you master the technology.

Steps to help you start:

As I mentioned above, there is no precise place to learn a technology, but the official documentation that the technology creators and maintainers provide gives you detailed tutorials on every subject, in contrast to what other websites and video tutorials offer.

However, sometimes reading documentation is not as easy as it looks and requires some techniques and tricks to get what you need without frustrating yourself.

Let’s say you want to start learning React. You should not go directly to their docs and start from the beginning to the end. Instead, what you should do is the following:

  1. Have a general idea about the technology: Watch a video or read an article about what React is, its history, the reason behind creating it, and if possible, watch a press conference or a documentary about it! Here is a documentary about React. This is a very important step to have a holistic view of what you will learn.

  2. After getting an idea about the technology and what it solves and provides, go directly to their official documentation. To follow along with me, React official docs and try to do exactly what I’m showing you.

  3. After opening the official docs, don’t start from the beginning to the end. Instead, start by reading the headers and sub-sections titles to see what the main concepts and features are and how they structure the content.

    Then go to the reference or API section where you can find detailed reference documentation on functions and components and how to use them. Take a glance at this page and have an idea of what functions and features the library or framework offers and solves.

  4. Check if they have a Quick Start page to get almost all the necessary concepts within a single page to help you get started quickly and start practicing.

  5. After reading the Quick Start page (if it exists), start from the first feature or concept the documentation offers. Read and execute the examples and practice. A quick note here is that you will often face interconnected concepts with others you don’t understand yet. In this case, you SHOULD NOT leave the current feature and start learning the connected topic from the beginning. Instead,_ write it down in a study-later paper_ to review it when you finish the current feature.

    Important Note: For example, if you are reading about React State and see in the explanation that useState used to add a state variable is a hook that React provides out of the box, you don’t need to go into the hooks tutorial. Just move on until you understand the concept of state, and you will learn about hooks when their time comes.

  6. If you complete the documentation page about a feature or concept and still don’t fully understand it, go to YouTube and search for someone who explains it with an example, or search for articles on the topic. With a little practice, you will understand it gradually over time.

  7. Create an empty project and initialize a Git repository, dividing it into branches. Each branch corresponds to a feature or concept you learned. Explain what you’ve learned in form of comments with as much information as possible to manifest your understanding in the form of hand-written code. This is a very efficient way to store what you’ve learned in your long-term memory.

  8. Use pen and paper. Write down important observations and conclude each section you learned. Writing with pen and paper helps you remember things for a long time and use them when needed.

  9. Join communities and read what other developers create, how they write code, and the best practices they use to write efficient software. It is very important to check what other developers provide because sometimes, while you are struggling to solve an issue or implement a feature, someone else has already worked on it and provided the solution as a library or code snippet within the community libraries.

4. Mistakes that I’ve made and how to avoid them

Awkward gif image

4.1. Do you really need this technology ?

This is an important question to ask yourself in the beginning: Do I really need this technology? Why should I learn it? How can this technology help me in my projects?

You need to ask these questions because learning something unnecessary and without a clear vision will make you less motivated, and you will quit in a short time. Sometimes, just because your friend uses a technology, you decide to start learning it without knowing its features and use cases, which is wrong. You need to ask yourself why you should learn it and what problems this technology solves.

4.2. Finish what you start

I already talked about this point in the mindset section, but here, I’m talking about it in the context of beginning a course or a video series and not completing it. You may get halfway through a course and decide to start a new one from scratch, which will definitely affect your motivation and focus. Don’t do that.

4.3. You don’t have to learn the whole documentation

For a long time, I mistakenly believed that I needed to complete all the concepts within the docs to use the library or framework efficiently, but this is not necessary. Sometimes, the quick start and main concepts are enough to begin, and the edge topics will come with time. When you encounter them, you can go back to the docs and learn how to use them, because it is not neccessary to use all the language or framework features in the same projects.

4.3. Lack of practice

If you read something and don’t use it in a project, you will forget it very quickly. Practice and applying what you’ve learned in a real-world application helps you remember and become familiar with the technology you are learning.

5. Conclusion

Learning new technologies nowadays can be challenging due to the connection between multiple technologies at the same time. This makes it hard for beginners and sometimes with some experienced developers to start, but if you create a plan, have a clear vision of what you want to learn, and follow the steps above carefully, you will be able to learn any technology easily and seamlessly without distraction.