Cheapest Way to Learn Programming If You Can’t Afford Courses
Tags: softwaredevelopment, learning, programming, selfstudy
Published: 2024-07-10 12:49:30



![Photo by Pixabay: https://www.pexels.com/photo/brown-and-black-wooden-chairs-inside-room-207691/](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4jaoo1c49ueur8q3r1sg.png)

Welcome to my new article, today I will share my favorite approach to learn while I was newbie developer. Let’s cut off the introduction and move to the main part.

One last thing I want to mention, if you are seek to follow courses or tutorials, you need to avoid this habit in order to improve your skills.

If you knew already why this is a bad habit, you can skip to the main section.

Following tutorials will make you bad developer, if you read different developers articles or watch their videos,you are going to see the number one regret of them is watching tutorials. 90% of the developers regret and you can find tons of videos and articles about this concept, just search 
‘**I wish I knew before I begin** … ’ on Youtube or Google.

You might not aware of that right now, but in future you will regret. Sometimes courses can be useful, if the author force you to practice and build something that is great.

You can learn tons of things while building projects compared to watching tutorials. Choose a real world project and start to build, but please don’t quit after you write CRUD operations. This is the another mistake, newbie developers do.

They implement CRUD operations and thinks project is done.

![programming meme](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bhan7njg1leiqe7w76k9.png)

Don’t let the situation on the image above occur.

## Why watching tutorials is bad for improvement?

Let’s assume, you buy a course or follow tutorials on Youtube. In the course, author creates a project with React. At the same time, you are copying his or her code into your editor. You don’t ask questions to yourself such as ‘What this component do?’, ‘Why I need it?’ and so on.

After all of copy work, you’ve completed the project and decide to create your own project. When you write your own code, you get stuck and don’t know how to begin.

You are going to find the solution in watching those tutorials and copying the code again and again. This habit will strict you and your skills.

## Why building projects is good for improvement?

I’ll give you the example in React. Let’s imagine, you want to build Live Score Website for football. Ignore backend for now, just focus on frontend.

I encourage you to write every idea you obtain down before you start to write any code. This could be your laptop, notebook, or your phone, but notebook (paper and pen) is recommended.

Learn to work with versions. Set a initial version for your project. I prefer to use following version, but each person or organization uses different kind of versioning for their products.

![Semantic Versioning](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qioylge5reyimnhsvlc0.png)

This is called semantic versioning and you can find extra information on [Wikipedia](https://en.wikipedia.org/wiki/Software_versioning).

I always begin with versioning from version 1.0.0. Write initial features of your website.

**Version 1.0.0**

* 3 Pages (Home Page, Score Page, About Page).
* Simplistic design (Choose or create simple design of your website, don’t try to be perfect).
* Create Main Components and build relationship between them.
* Draw architecture of the components.

Those tasks on above is enoughVersion 1.0.1

Create 2 new pages (Contact Us Page, Individual Game Page).
Update design of Home page.
Fix relationship problem between components.
and so on. I hope you got the idea.

Now it’s time to talk about the main concept of this article. for version 1.0.0. I know, they are todo list. However completing your first version will give you confidence and encourage to continue and add new things or modify existing code.

You deployed the website into server. Now it is time to write features of the next version.

**Version 1.0.1**

* Create 2 new pages (Contact Us Page, Individual Game Page).
* Update design of Home page.
* Fix relationship problem between components.

and so on. I hope you got the idea.

Now it’s time to talk about the main concept of this article.

## Best Way To Learn From Courses Without Watching Them

Congratulations, you’ve created your first side project. Now it is time to build and learn.

Most of the time newbie developers don’t have roadmaps. Right now, you can find roadmaps almost for every framework and they are really great. However when I begin to my career, I have no idea about roadmaps. However the approach that I am going to share worked for me, and I believe it will work for you. Let’s begin.

Step #1: Decide what you want to learn

I mean, decide what you want to learn: programming languages, frameworks, cloud technologies, databases and so on. Choose your area you like the most.

## Step #2: Find Courses or Books related to your decision

In order to find courses, you can search on Udemy, Coursera and so on.

In order to find books, search on Amazon.

Let’s assume, you are going to learn React. It is time to find courses and books.

Go to Udemy or Coursera and search React, and find the best 3 courses available for React.

![React courses on Udemy](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4xbsewo19e01pu3psmm1.png)

3 is enough for me, but you can increase the number as you like.

For books:

1. [The Road to React: Your journey to master plain yet pragmatic React.js](https://www.amazon.com/Road-learn-React-pragmatic-React-js/dp/172004399X/ref=sr_1_4?crid=1DZL6KJ39Q8YM&keywords=React&qid=1677015554&refinements=p_72%3A1250221011&rnid=1250219011&s=books&sprefix=react%2Caps%2C285&sr=1-4)

2. [Learning React: Modern Patterns for Developing React Apps](https://www.amazon.com/Learning-React-Modern-Patterns-Developing/dp/1492051721/ref=sr_1_1?crid=YQGXRP8KQL6I&keywords=Learning+React%3A+Modern+Patterns+for+Developing+React+Apps&qid=1677044174&s=books&sprefix=learning+react+modern+patterns+for+developing+react+apps%2Cstripbooks-intl-ship%2C230&sr=1-1)

3. [React Key Concepts: Consolidate your knowledge of React’s core features](https://www.amazon.com/React-Key-Concepts-Consolidate-knowledge/dp/1803234504/ref=sr_1_1?crid=1OI1A24A39DM0&keywords=React+Key+Concepts%3A+Consolidate+your+knowledge+of+React%27s+core+features&qid=1677044202&s=books&sprefix=react+key+concepts+consolidate+your+knowledge+of+react%27s+core+features%2Cstripbooks-intl-ship%2C221&sr=1-1)

## Step #3: Read customer reviews

This is not quite important, because you will not purchase the courses or books. However it is good to read and get acquainted with them a little bit.

## Step #4: Read table of content of the courses or books

Create an excel sheet or you can use pen and paper, but I prefer to use Excel sheet.

![JavaScript Refresher section of Udemy course](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9lw5td1oxbkkdr715afz.png)

Here’s the one section content in the course. Now write the title of the videos into the Excel sheet.

![Collecting titles of sections in Google Sheets](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/21zklnpeozt6lq7j9n04.png)

This is what I did. Now it is time to search and learn. Don’t forget every thing is available on Google, even the authors of courses, books have learned on Google.

## Step #5: Search, find and learn on Google.

For example, let’s research about the ‘Understanding let and const’. I recommend you to add some keywords to your search such as What is, or How to, those are the keywords most of the articles begin with.

Search: What is **‘let’** and **‘const’** in React?

![Research: What is let and const in React?](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r9oefzhx4cja5s4v31z5.png)

Open first 5 websites and read articles. After reading 5 articles and you feel you grasp what are they, now it is time to think and implement them into your projects.

Please, don’t skip or begin without answering following question.

* What time will I need to use them?
* What are the benefit and drawbacks of them?
* How can I implement them into my project?

These questions are general, can be ask for most things. Of course, questions can be increased, but those are enough at first.

Great thing is, if you can’t answer those questions by yourself, ask on Google and learn from other people’s experience, then think again. Thinking is the key to build a big dream project.

At last, I have a challenge for you, I gave the example by using the course, your job is that apply the same technique by using books. You can find table of contents for the book in Amazon.

Advantages and Disadvantages of the Technique
I want to mention advantages and disadvantages of this technique.

### Advantages
* Great for improvement
* Improves your researching skills
* Seeing different perspective of other people
* Force you to build and finish your side projects.

### Disadvantages
* Learning process takes so much time
* Takes so much effort and dedication (this is disadvantage if you are lazy)

In my point of view, the technique takes so much time is a good thing, because you understand the concept better, and there are less chance to forget the concept in the future.

## Conclusion
I hope you enjoy and learn something new. If you like the article, check out my other articles.

See you soon in upcoming articles. Take care of yourself.

If you have any question, you can reach me via [LinkedIn](https://www.linkedin.com/in/mammadyahya/)