DEV Community

Cover image for How to Properly Learn Anything For FREE!
Aseer
Aseer

Posted on

How to Properly Learn Anything For FREE!

Overview

Coding is one of those gold mines that can potentially allow you to live the life you dream of (depending on how hard you work of course). Like most other people, I started learning to code with almost no money. I never considered buying courses from Coursera or Udemy, because I was learning everything for free so efficiently.

So here's an article talking about EXACTLY what I did to learn the things I learned without spending a dime. It will outline the process for learning the fundamentals of anything you want. And once you have built some basic projects of your own, the world is your canvas.


YouTube

Every bit of coding knowledge I have comes from here. The amount of free knowledge available on YouTube is unbelievable and I learned FAR more useful and practical skills from YouTube than college ever taught me. Many times I even find the courses on YouTube to be better than the paid ones because when creators do it for free (or for very little money), they're really passionate about teaching and the quality of their content is amazing.

How I Started

My go-to channel for learning web development is Traversy Media. I remember constantly thinking to myself "How is he uploading this for free it doesn't even feel legal" while learning from him.

This is the playlist I used for learning all the basics of HTML and CSS. First, I went through the first few videos to understand all the basics, and then I selected projects from this playlist at random and coded them along with him.

My Approach

It was a repetitive process where I followed him until the end of the project, deleted the whole project, followed him a second time, created the same project again, and deleted it again. For the third time, I wouldn't follow him. I would have understood the requirements and I would try to code it myself, mostly while recalling how he did it, but also trying to fix bugs myself by googling. If nothing helps and I'm stuck, I can always check the video to see how he did it.

Then I would repeat. Delete the project and re-code it, and delete it again and re-code it again - the entire project from scratch. From setup until the final requirement is reached. I did this as many times as it took for me to be confident that "I can make this by myself now". And then, I would pick a different project at random, from the same playlist, and do the same thing. First, follow him a couple of times, then code it myself a couple of times. Same project, every time from scratch. I did this for around 3 different projects from that playlist.

This way, I had almost mastered plain HTML and CSS and created a very strong foundation for my front-end game, I wanted to make sure I knew enough CSS before moving to JavaScript.

🛑 One extremely common mistake beginners make is getting stuck in tutorial hell. They don't realize the importance of attempting to code it yourself. Even if you bought the best, most expensive course, and if all you're doing is following the creator, you will NOT be in a position to make projects on your own. You need to realize that you are training to be independent, not to always follow someone else line-by-line. So even if you are following a paid tutorial, try this method of deleting the project and re-coding it without looking until you're sure you can do it yourself without any help.

Getting Introduced to JavaScript

After I was done with CSS, I followed the same process with this playlist for learning JavaScript. I watched the first few videos for all the basics and then picked random projects. I would create and delete them several times until I was sure I got it.

After learning javascript, I found Sass. This was a game-changer. It made CSS so much easier to write and read. This video by Ed (another amazing channel that I used a lot) is all I ever needed. It's short and to the point. It doesn't go in-depth about all the things Sass is capable of doing, but TBH I never cared about all that. Unless I'm making a big application in Vanilla javascript, those extra features feel overwhelming. Every front-end dev is expected to know the basics of Sass.

Then I wanted to create some websites without following any video. I wanted to just look at an existing design and implement it using my newfound knowledge. So I looked at some simple landing pages and created their clones. You can find inspiration for front-end designs on platforms like Dribbble and you can also search for popular websites and try to recreate them.

💡 Throughout this process, I would be constantly committing and pushing my code to GitHub, just to get used to the basic commands and the environment of using it. But this isn't necessary if you feel it can be distracting you from the actual coding. You can learn GitHub a little later once you are more comfortable with the code.

My First Website

After cloning some existing designs and publishing them on gh-pages, I felt I was finally ready to make a website all by myself from scratch, including the design phase. And what better way to test your design and coding skills than to make a portfolio?

So the first original website I ever made is my portfolio. It took longer to finish than I'd like to admit because of some annoying bugs that nobody seemed to know about, but I fixed them and I like how it turned out in the end. I use it to this day.

Learning New Stuff

I had figured out a fool-proof way to master anything I wanted. For every piece of tech I wanted to learn, I have always used the same method. I learned React.js the same way by following some YouTube tutorials and then coding them myself several times while understanding every concept.

This is the playlist I used for everything react. This channel has the most clear and concise explanations even for the most advanced of topics. I lost count of how many times I watched these videos when I got confused with react hooks.

From there on, anything I wanted to learn from scratch was a piece of cake. The more time I spent coding something, the less time I needed to learn new things.

Killing Procrastination

YouTube may be the world's largest database of free courses, but it's also the world's largest database of attention-grabbing content that wants your clicks and views. There have been many times when I open YouTube to search for something but hours pass by and I don't even remember why I opened it to begin with, while also not recalling how my time was even spent. It's the most frustrating thing to lose time.

That's why I highly encourage you to install this extension on your Chrome and Firefox browsers. I cannot explain how much it helped me stay focused and I wish I found it sooner.


Other Platforms

There are many other platforms you can use to get started with your coding journey. I personally don't care about certificates nearly as much as projects and knowledge, but if certificates are important to you, then these platforms are worth checking out.

Disclaimer

I cannot stress this enough. Don't spend forever researching about platforms and which is the best. No platform can help you if you keep getting distracted from your real goal. The most important (and scariest) part of learning is making your own projects, so get past it.

FreeCodeCamp

I'm sure you have heard of them. This is by far the most popular platform to learn coding for free. They even upload many of their courses on YouTube. They have small tasks that you can complete, projects that you can follow, and certifications you can earn. There are many reasons for their amazing reputation.

Codecademy

It's one of the most popular platforms for learning to code for free. Just like FreeCodeCamp, they also offer a variety of courses along with projects and certifications. I found their library of courses to be extremely vast and you can find a course for almost anything you're trying to learn on here.

W3Schools

You can find plenty of courses for learning the fundamental concepts of several technologies, old and new. They have a thorough explanation of each topic along with small tasks and quizzes, and they provide certifications too.

Personally, I don't find this to be the most efficient way to learn. Not to mention it can be harder to stay focused when reading and trying to understand so much theory instead of having a video explain it to you. But what works for me won't work for everyone so it's worth a try. You may find it to be more valuable.

Web.dev

It's a site created by the developers and writers of Google Chrome. It focuses on basic courses for fundamentals of web development.

Udemy

Okay, this isn't free, but it's super cheap. Most of the courses on Udemy are sold at a very low price. The value they provide far exceeds their cost. So if you're okay with investing a bit in a good course, and if spending money on a course motivates you to utilize it, then go right ahead.

I have tried some Udemy courses, but I still prefer YouTube for the popular tech stuff like Python and JavaScript :)


The End

Welp, that's the end of it.

If there's anything you'd like to add, feel free to start a discussion in the comments.

If you like this article then consider following me on Hashnode.


Top comments (0)