It is amazing how many people have join the ranks of coders over the last few years. Whether you are a professional coder or just code for fun, learning this skill will definitely change your outlook on life and how you think.
With the advent of online tutorials, bootcamps, YouTube videos and blogs, learning the basics of coding is extremely easy.
However, some of these resources are limited in what they offer. Sure, you can learn theory, algorithms, data structures, etc. But if new developers would like to improve certain skills, for example, how to structure a large application, how to create performant and secure code, how to create test cases, log and fix bugs, documentation, communication with other team members, etc they need to get their hands wet. One of the best ways to do this is to join an open source project.
For many new developers though, joining an open source project seems daunting. They may feel they do not have the skills to contribute, and such fears are understandable. I could spend the rest of this article explaining why they shouldn't let fear stop them from joining an open source project, but instead I will offer another solution.
Many articles talk about how to use GitHub, Gutbucket, Gitlab, or a similar open source repository to upload your code. Many of these articles fail to help new developers to see the rich and vast amount of information these free repositories have to offer to new developers.
We will use GitHub as an example. You can create a free account using your email address. You can search, download, read through and play with code that experienced developers have created and uploaded for other people to use.
Many of these repositories are real, live code that thousands of people use everyday. You will learn valuable lessons on how to structure code, how to use code to tackle a problem, proper documentation, proper testing, logging and resolving bugs, how to commit code with proper commit messages, how to structure branches and releases, how to use CI/CD (if the repo is using it), how to write performant code, how to write secure code, etc.
You can learn so much from these projects. You can learn at your own pace. And this is a free method to improve your coding skills.
The main point is you do not need to join an open source project to improve your coding skills. You are welcome to download the code, read it, run it, play with it, and learn from it.
Build your skills. Build your knowledge. Build your confidence.
Most popular projects will have a Readme file, an example folder, a test folder and a src folder. "src" is short for source, and this is where the bulk of the code can be found.
First, read the Readme file to understand the purpose of the project and how to set up everything. Next, take a look at the example folder. Usually the examples are simple so it will be easy to understand the code. Play around with the examples. This will also help you later when you are looking in the src folder. Finally, take a look at the tests. Run them and see if you understand what's happening. See if you can write your own test case following their format. Obviously, a big project will have comprehensive test cases. But still this is good training.
Just as reading books can open your mind to the world around you. Reading open source code will open your mind to the world of software development.