How To Learn New Technology
Tags: javascript, react, aws, programming
Published: 2023-06-07 20:00:10

**To read more articles like this, [visit my blog](https://www.mohammadfaisal.dev/blog)**


Over the years of my experience as a software developer working on several big projects, I have **wasted** hundreds of hours **pretending** to learn something.

But I realized one thing. Wrong-way of doing it can become **costly** in the long run.
> Learning is a Delicate Process

After so many wrong approaches I have settled in my current process which I will be sharing today.

## 1. Why the Technology Exists?

Don’t just jump right in. I made this mistake several times when I was quite new to the game.
>  I hear something is cool, I learn it

I learned so many unnecessary things that wasted my time and effort. Obviously, every technology is there for a reason. But **ask yourself** if that reason is valid for you. **Sherlock Holmes** said

> Your brain is like an empty room. Don't fill it up with unnecessary furnitures

So take some time. Even if I am obligated to learn something (For Job) I spend at least 30 minutes understanding the problem this particular technology is solving.

### # Strategy

I go to google and search for things like

* Why X is good

* Why X is bad

* How does X compare to other technologies?

## 2. Get An Overview

The difference between `React` and `Redux` was not clear to me for quite some time when I started learning React for the first time.
> Try to Get a Birds Eyes View

I have learned that learning anything scratch without having the big picture can slow down me in the long run.

**Now I try to understand different components and what they do** **(Not how they do it)**

###  Strategy

In this step, I prefer watching youtube.

There are many people who give 15–30 minute introduction videos and talk over the architecture.

Spending around 2–3 hours is enough in most cases for me.

## 3. Get Some Good Resource

**Some say you should go with the documentation. I strongly disagree with that.** Although some documentation is very good( Like `Django` and `NextJS`) But most other documentation is pure garbage.

So, after I have a primary idea about the technology and its details then I go to documentation and try to learn the advanced topics.

### # Strategy

I prefer written blogs over video tutorials. But video tutorials are equally good. but they take longer to finish.

**Picking the right tutorial is super important for me.** I found that a wrong tutorial can ruin the whole experience. So I search online to find out the best resource to learn that thing and pick that.

Most of the time they are free(Because Anything Free is Great :P) 
But even if they are paid I go for it.

## 4. Do a Useful Project

The last step is to **build something**. I am sure you heard this before. Whatever tutorial I watch usually they teach through building something. But more often or not they are super common stuff like Todo List and things like that.
>  Adding Familiar Projects Don’t Add Value to My Resume

Most people recognize them anyway. So spending 20% extra time to build something that is not recognizable as a learning project right is a good investment of time for me.

###  Strategy

I pick a slightly separate project that is quite similar to the project in the tutorial and try to build that alongside. For example, instead of building a `Todo List`, I make something like a `Habit tracker` where I can add some additional functionality.

So that’s it. It’s my way of doing things. They might not be perfect but work for me.

Have a Great Day! :D

**Get in touch with me via [LinkedIn](https://www.linkedin.com/in/56faisal/) or my [Personal Website](https://www.mohammadfaisal.dev/).**