Contributing to open source as a means of advancing your career
Pros and cons and how to get started
Contributing to open source software (OSS), if it is not already part of your day job, can be a rewarding experience. Having some non-trivial contributions to widely used open source software can really make you stand out among a pile of resumes when looking for that next job. But you have to watch out for burn out and make sure you are doing it because you feel motivated to rather than purely as a means of advancing your career.
Some ways in which OSS can help advance your career:
Give you deeper understanding of the software that you are contributing to
Allows you to showcase your work and stand out from the crowd in a pile of resumes
Allows a forum to interact with other smart and talented engineers and could be a great way to network with engineers around the world
You are able to develop / flex your collaboration / communication skills when working with other contributors
You can take the expertise developed over the course of working on the OSS back into your company and push development forward.
Why you should not force yourself to work on OSS outside of work:
Although many companies prefer to see open source contributions, it is not necessary to have OSS contributions for most software roles today
Your time is valuable. Is contributing to OSS more important than spending time with your family?
Burn out in software is real. Taking time away from your workstation is important for good mental well being.
One tip to be able to showcase your work on proprietary software is to figure out if there is a way to open source you work on a particular segment of the large project. This is where you could show high agency and work with your manager / legal / other parts of your company to get part of your work open sourced.
How does one go about contributing to open source software?
Firstly, deciding which OSS to contribute to can be a good question. My approach there is similar to what Kent says in his blogpost - you should contribute to OSS that you use regularly.
Secondly, make sure before you write a single line of code, that you have read the contribution guidelines. But perhaps even before you start thinking of contributing, make sure to ask the current maintainers of the project if the idea you are thinking of makes sense to them. It is possible that your idea might already be in the works.