Contributing to open source projects can be a rewarding way to learn, teach, and build experience in any skill. Even better, there's a special type of satisfaction that comes from helping out the broader programming way with your skills.
Why do people contribute to open source projects?
Lots of open source contributors start by using the software they contribute too. When you run into bugs that impede your development or features that would help it, you may want to look at the source to see if you can squash that bug or add that feature yourself. That way, the entire software community will benefit from your contribution. The code you add will be used by thousands or even millions of other developers, all of who will benefit from your contribution.
Whether it's coding, user interface design, graphic design, writing, or organizing, there's a task that covers every skill on open source projects. Open source projects have opportunities to work on massive code bases. You'll reach a higher level of expertise, something far more than what you'll gain by simply reading books or making small projects. Normally, there's quite a few steps to contributing to an open source project:
- Determining what is worth contributing
- Studying the contribution guidelines of the project
- Building the project locally
- Extracting the relevant code
- Adapting the code and integrating changes
- Provide test cases and documentation
- Filing an issue
- Submitting a PR and working with reviewers
Once you've gone through all these steps, you'll gain a much deeper understanding of the oproject and principles that are behind it. Yes, it may be a lot of steps, but there's a lot of overlooked benefit.
The welcoming community of open source is what keeps people coming back. You have the opportunity to develop relationships with developers from around the world. Even better, at open source conferences, you may even meet some of these developers in person!
By contributing to open source, you'll explain how you do things as well as ask others for help. Learning and teaching is fulfilling for all involved. By working with others in your fields, you'll learn and teach plenty of new ideas that can help your future development.
Your contributions are all public, which means other developers and companies can see how you're giving to the community with your skills. When hiring developers, companies often are looking for more than just a CV and degree. There are people out there with massive and impressive CV's that have likely barely touched the surface of a lot of technologies, they're all talk, no game.
A strong list of open source contributions goes a long way to proving your expertise in software. Platforms like Github are an easy way to show employers what your interests and sills are.
Open source contributions emphasize your expertise and skill far more than any certificate or degree will ever do.
You don't have to be a lifelong or constant contributor to enjoy participating to open source. You get to make your contribution to a project that's often far bigger then yourself, and one that will likely impact tons of people. Yes, it may be challenging, but the contribution you're making is well worth it.