It's October, which can only mean one thing... it's Hacktoberfest season! Hacktoberfest is an annual event put together by the good people at Github, DigitalOcean, and now also, Twilio. It's an opportunity for people from all levels of experience and backgrounds to take the plunge into the world of open source. Not only is there the chance to meet great people from around the world and contribute to active projects, you could also earn a free shirt, and who doesn't love free shirts?
I am not the most active open source contributor. This is not for a lack of desire. The desire is strongly there, but rather it comes down to a lack of time. Between working a full time developer job and wanting to spend quality time with my spouse and children, there is not much time left for other pursuits. However, I have contributed to open source projects throughout my developer life -- both code and documentation contributions -- and I think it is precisely the thoughts of someone who is a "lightweight" open source contributor that might be helpful to someone thinking about entering the domain.
As someone who is not an open source "star", I know firsthand what it's like to enter someone else's project, offer a contribution or two and then step back, due to time constraints and the like. Here's three pieces of advice on how to do it, respectfully and meaningfully:
Maintainers are not rolling in money: By and large, open source maintainers are people with an extraordinary sense of community investment and are volunteering their time to further the developer landscape by overseeing a project. They also have full time jobs, families, etc. and yet have also carved out a tremendous amount of time to these projects. That is remarkable. When coming into the project to offer a code contribution or a grammar suggestion on the documentation, remember they are volunteering just like you, and you are not the only contributor whose pull request is demanding their attention. Treat maintainers well and they will treat you well.
Open Source Isn't Your Job: Conversely, if you encounter an open source project with a toxic environment cultivated by negative and abusive maintainers just walk away. You are not compelled to contribute. You are not compelled to endure ridicule and abuse about your pull request and you are not compelled to feel diminished as a person and as a developer. Gravitate to healthy environments and you will feel enriched and sustained by the community work.
Be an Observer First: Every open source project is its own microcosm of wishes, needs and desires. It is fueled by the work of people often spanning time zones, cultures and continents. It may have its own norms. It certainly has its own needs and to-do list. Get to know the community first. Get to know the to-do list first. Take some time to read through the history of commits and of pull requests. See what is actively being worked on and figure out where you could make the most meaningful contribution. Sometimes what you want to work on isn't always exactly what the project needs the most in that moment and, ultimately, it's about finding the balance between your passion, skill set and project needs.
These were just some of my thoughts as to how I approach an open source project for the first time. How about you? What do you do when you are venturing into a project for the first time? I'd love to hear your thoughts!
With all that said, don't forget to register for Hacktoberfest and get coding!
Soft skills are as critical as technical skills for a software engineer. No one works in isolation. Each person has to deal with teammates, colleagues, managers, etc. Therefore team interpersonal skills are essential too. Soft skills include things like good communication, honesty, teamwork, integrity, organization, empathy, etc.