Being a starting developer might be harsh, not knowing the world enough, therefore it can be hard to find a first job, right after studies, unless you have some design experience. The solution to this problem may be open source software development. However, this is a good solution not only for those who don’t have any work experience and want to get one in order to get a job, but also for beginning developers to get some training and for more advanced ones to develop a project they are passionate about and as a remedy for boredom of long-term projects.
The ideal place to look for open source content is GitHub.
GitHub is slowly becoming a social platform for developers where we can help millions of open source projects or even try to create something of our own. For experienced developers it is an opportunity to work on some interesting stuff and for people who are just looking for a job an opportunity to make their first steps as part of a development team and get some useful experience.
How to install GitHub on your device:
> Newbie section git installation (mac os: brew install git, linux ubuntu: sudo apt install git)
> Newbie section git configuration (git config –global user.name “My Name”; git config –global user.email firstname.lastname@example.org)
Fork and Pull request
If you want to contribute to an open source project, you should know what Fork and Pull Requests are.
Fork is a copy of the repository that “sits” on your account, not on the account it was copied from. This allows you to make changes to virtually any open source project on GitHub without being able to save/modify the original. Once the changes are done, we can issue a Pull Request (PR). The author/maintainer of the project will see your PR and proceed to code review. After a discussion in the comments, the code merge takes place (this is already done by the repository owner).
Hint: before opening a pull request, please review the README.md file looking for the Contribution section, or look for a separate file https://github.com/github/docs/blob/main/CONTRIBUTING.md to see the rules of cooperation on a given project.
Here you can do whatever you want. We personally keep the public part of our dotfiles so we can easily sync configuration between many machines. We also have many started and unfinished projects :D. This is also the biggest advantage of this kind of “fun”. While creating your own project on GitHub you don’t have to finish it. Often we can get bored with it and move on to something else. In addition, maybe someone will finish our project for us. 😉
The most important thing is to have fun with it, and experience gained during such mini projects is priceless.
If you’re not convinced, check those famous project created in open source:
- VLC Media Player
- And much more!
If you don’t know where you could start, here’s a link to some interesting projects concerning different coding languages:https://github.com/MunGell/awesome-for-beginners#ruby
P.S. We recommend putting a link to GitHub in your CV 😃. It can be a great way to show your skills to an employer!