What We'll Cover in this Article
- Why you should read the documentation
- Some best practices you can adopt from reading documentation
- How to contribute to open source projects
- How to find projects to contribute to
- Why you should build lots of projects
- Resources that might inspire you to build projects
Practicing is what makes you progress. Whether it's in music, dancing, singing, playing basketball – or coding.
Practicing is really repetitive and can be tiring, but it is what helps us and sets us apart in the long run. It is through the action of practicing and repetition that we are able to be good at all these activities. Coding is not different.
Work through Courses and Tutorials
Courses and tutorials are a good way to learn. You can find various learning materials from a lot of places on the web. If you would like to take a course on a particular programming language, you can find them on sites like LinkedIn, Codecademy, and Udemy.
If you like videos, there are many great channels on YouTube that post coding tutorials for free. My favorite one-stop-shop is freeCodeCamp's channel.
A good rule that I use on YouTube is to check the number of views a tutorial has. This will help you know if it is a good one to follow along with.
FreeCodeCamp's curriculum is a perfect way to practice coding. It offers small challenges that you can practice and, once your tests pass, proceed to the next step. It almost works like a game without the gaming part.
You can understand how the language works by doing the challenges the curriculum offers. This is really nice for people who like playing games.
Here is an example of what to expect:
First, you will need to Sign in when you are accessing freeCodeCamp. This allows you to save your score/points.
I have already done all the challenges in this course, but if you were to begin, you start from the first one,
Now, you will be able to learn as you code. You will also be able to run your tests which are at the bottom left of your screen.
On the right side, you can see that I have completed the challenge.
When you click
Run the Tests(Ctrl + Enter), you get your points if you get it right. Since I have already done these challenges, my score will still remain at 100%.
Keep doing the challenges until you feel comfortable.
How to approach courses/tutorials to avoid tutorial hell
It is easy to fall into the trap of watching tutorial after tutorial – and not really retaining any information. Sometimes these tutorials come one after another like the episodes on a Netflix series.
I've been there. It happened when I was learning React for the first time. I followed through an online course. There was a hackathon coming up for which I needed to know React, and I deep dived into the course.
How I enjoyed it. The instructor was great! "How easy is React?," I said. I went to the hackathon and joined a team. With my new knowledge of React, I told them to leave the front end to me which required React. It was during the implementation that reality hit me. I couldn't write anything in React.
How I escaped tutorial hell
So I found myself watching tutorials a lot. And the defining moment for me was when I started implementing what I learned by coding along while watching the tutorial. I was able to create a project after watching a tutorial. I then created another one then another one and another one.
I was now ready to try out the projects on my own. Using the projects I created, I would borrow concepts from them like the navigation bar or the footer, and I would implement it in my new project. At the end, I was able to create a new project on my own without the help of tutorials.
Read the Documentation
The ability to read documentation is an underrated but important skill. Reading the documentation can give you a better understanding of the language.
This reminds me of when I was learning how trains work. Well, a story for another day. :)
There are a lot of tools you can use to browse documentation. Some of these include Zeal, DevDocs, and Devbook, which are all free. If you feel that you want to understand your functions better, you can use their search functionality inside the app, and read more about it without having to Google. (Source: Bruno Edoh)
What you will learn from reading the documentation
Sometimes learning through a tutorial leaves you with more questions than you had answered. This is where documentation comes in.
A concept might get introduced by the course instructor that leaves you hanging. Fortunately, you can often learn more about that concept by going to the documentation.
Beau has really brought out the concepts well! But if you feel that you would like to explore
Alternatively you can Google using this special method: the Search keyword will search the query within the website that you want. Let's use the MDN Web Docs as an example: "developer.mozilla.org variables":
When I follow the link, it takes me to the documentation about variables.
When I scroll down a bit, I am able to learn more about Data types. Here you can explore more by following their individual links.
Some best practices you can adopt from reading documentation
The best thing about documentation is that you get answers to questions that you have not asked yet.
You can find all the functions that you are ever going in the documentation. If you skim through it, you might get an idea or two that can be very helpful in your future projects.
Another advantage is that it'll help you write efficient code. Reading documentation introduces you to better ways of writing your code. This helps you avoid hours of searching on Stack overflow and Google as to why your code doesn't work.
Contribute to Open Source Projects
Another great way to learn is to contribute to open-source projects.
There are a lot of open-source projects you can learn from and contribute to on GitHub. Some of these projects include:
This repository will help you learn more about JS at a deeper level.
You will be able to learn as you contribute. Contributions to open-source can be as small as a typo fix. You can go through the README (which you can find on the repository's main page at the bottom) to get a better understanding of the project.
Some other contributions you can make include sharing suggestions in issues, helping to write blogs, and also coding.
If you are unfamiliar with the repository, or as a first time user, you can start with the issues labeled as
good-first-issues on the issues tab.
Here is the link to the repository: www.github.com/getify/You-Dont-Know-JS
Make sure you have a GitHub account if you want to clone the repository or you have changes that you have made and you want to make a Pull Request to the repository.
Other projects you can contribute to and with an inclusive community are:
- wtfjs. (github.com/denysdovhan/wtfjs).
- ES6-for-humans. (github.com/metagrover/ES6-for-humans).
The open-source community is also generally very welcoming. If you find a project that you like, give it a try!
How to contribute to open source
To be able to contribute to open source, you only need three things:
- A computer
- A GitHub account
- A desire to contribute
To create a GitHub account, go to GitHub's website.
Here, you can sign up for a GitHub account. After signing up, you sign in with your new credentials.
After signing in, you can now begin your journey into open-source development!
How to find projects to contribute to
I'll then select "All GitHub" in my search to search the whole of GitHub. It's the one currently highlighted in blue.
When I search, it will bring me to this page.
It returns may repositories that I can contribute to, or I can just view their codebase.
By selecting this style guide, it takes me to their repository.
You can also select the "Issues" tab where you can look for an issue which you are comfortable solving.
When you click on it, it takes you to the current issues that the developers of this repository are trying to solve and would appreciate your help resolving.
If the repository is not one which you are comfortable contributing to or it is not beginner friendly, you can check out other beginner friendly repositories like
Web development resources or the
EddieHub community where you can share resources, learn, and be part of a community.
Being a part of a community is great!
Web development resources repository
Remember to select
All GitHub in the search since we want to search the whole of GitHub. Other options are
in this repository to search within this repository and
in this organization to search within the organization.
Still in GitHub, you can search for
EddieHub where you can find a community of welcoming developers, ready to help new developers contribute to the open source repositories for free. It has great repositories where you can learn and contribute.
Build Lots of Projects
Building projects really helps you get a grasp of how software works.
Ever wondered how, when you click the mouse or keyboard, something happens – and you always wanted to know how? Making projects helps you understand all that.
The more projects you make, the better you will understand a topic. And the more you'll satisfy your maybe lifelong desire to uncover how it all works.
Making projects also toughens you up. You become a person who likes solving problems no matter how small or big they are. The ability to face programming challenges and solve issues that arise sells you as a problem solver. This ability is applicable everywhere in life.
"The best way to learn cycling is by buying a bicycle and to start cycling." Karlgusta.
To start riding a bike, you don't really read about the bicycle. Sometimes you don't know the bicycle parts, but you still cycle and learn along the way, if you are curious enough.
It's also in building projects that creativity meets technical skills. Most industries don't have a way where you can use your technical skills and your creativity together. But the software industry does.
You will not face the same problems each time you build something, so you will need to be creative to find solutions. The challenges, and the solutions you come up with, are where the fun and satisfaction lies.
It is a fine balance between documentation, tutorials, coding (mostly), and reading other people's code. Trust your gut in the process.
If you need guidance to boost up your confidence, here are some resources that might be of help.
Resources that can inspire you to build projects
In the same video, there is an even nicer secret gift! Building a chrome extension. Oops! I said it.
2. How to create a counter clock (Free).
In this video tutorial, you will learn how to create a counter clock that resembles a counter clock on an ecommerce site like Amazon.
You'll build a responsive navbar, a countdown clock, a platformer game, and many more.
Practicing coding through the curriculum, learning through tutorials while coding a project, and contributing to open-source will set you apart from your peers. It will also make you a better programmer.
I hope you enjoyed reading this article. If you have any questions or suggestions, feel free to hit me up on Twitter.
See you soon!