Two months ago I heard the word 'Hacktoberfest' for the first time: Open Source contributors at Zenika were talking about having everyone in the company contribute to the event. I googled "hacktoberfest" and immediately loved the idea, although the first thought I had as a non-dev person was "This seems to be a dev thing huh?".
Turns out it's not and we (non-dev people like agile coaches, product managers and support functions) were able to make our small (yet symbolic) contributions with the help from our tech colleagues.
This is how they did it and how you could do it as well
- Talk about it. A lot. For instance on your company's Slack dedicate a channel to the event and post frequently.
- Have a dedicated onboarding program. Zenika has its "pimp your duck" project to help make your first PR.
- Lead by example. I went to see some of our OS contributors' repositories to have a look at the projects they contributed to and found it inspiring to discover this community spirit and remote collaboration world.
- Make a list of projects that could benefit from non-dev contributions (projects that need design, documentation, translations, sorting things out, etc.) I had a look at what Jean-Baptiste wrote on his blog for instance, very helpful. This is key, since the excitement can vanish very quickly if you don't find a project to contribute to.
- Be the link between "them" (the project mainteners) and "us" (potential contributors)
- Make it fun. We had several Hacktobefest nights (with pizza!!!) so that we could contribute and celebrate together!
- Be patient :) Noobs like us are starting from scratch. Expect lots of dumb questions and epic fails. Turns out we WANT to learn and that's what brings us together.
- Spend some time on github just browsing serendipitously from repo to repo. I did this without understanding anything to what was happening there but at least I had the feeling I was already into it 😁 Of course you can look for repositories that have the "hacktoberfest" tag but feel free to contribute to whatever project suits your interests.
- Read the Hacktoberfest site for newbies There is a Beginner section at the end of this page. And lots of good advice.
- Learn git. At least some of it: clone, fetch, commit, push, pull. Of course this is the trickiest part, and you can do without and participate through github's interface. But you can also innocently 😇 ask a colleague to spend 10 mns explaining git to you (in my case it turned out to be 2 hours, sorry JL ❤️). And then try again later because you have forgotten (and not understood) everything. You can trust your teammates to find a creative way to teach you git branching: I learned git branching with cherry tomatoes 😅 thanks to Guillaume❤️ and Anthony❤️
pizza and being together are NOT optional 😍
Learning git is what made the whole experiment spicy and motivating for me. Of course I am happy to have joined the projects but I know my contributions are not critical (such as adding a new feature or resolving a critical security breach). And though I still think git is a tool designed for tech aliens, I'm starting to enjoy the possibilities it opens for me.
As usual good communication is key. Although the hacktoberfest onboarding is really good, I had much trouble finding projects to contribute to. It's hard when you're not a developper to spot projects that you understand 😜 AND that could benefit from your skills.
The best piece I read about first-time contributors is here and I saw it very late. Too late actually. Also found out too late the #beginners-friendly, #newbie, #newbiefriendly and #first-timers tags 😩
Mainteners, please provide a "How to contribute (for dummies)" guide. I had the chance to make my first PR on the Kaamelott Soundboard project which has a very explicit "how to contribute" section. Gave me a little bit of confidence (although I managed to screw up my first PR nonetheless)
Hacktoberfest was indeed a fest, thanks to the events we put up around it. I'm not sure I would have enjoyed it as much if we hadn't gathered together at some point. Oh and I'll keep contributing to the 2 projects I joined (unless I get kicked out)... isn't this what you call progress?