What I learned during my first Hacktoberfest
Tags: hacktoberfest
Published: 2020-10-31 16:08:55

## My first Hacktoberfest, WHOO! 🎉

For two years now, I've been waiting for an October during which I could participate in Hacktoberfest. During 2018 I was so tired that I just couldn't do it, and in 2019 I was travelling the world, without a laptop and usually no access to internet.

So, in the beginning of 2020, I made a promise to make sure that in October 2020, I would be mentally ready, have the time and energy, and that in the end, I would finish Hacktoberfest!

What I started doing from January 2020 onwards, was to bookmark interesting repos. These repos would either be some library that I had used in a (personal or work related) project, or they had a lot of issues in a topic that I was interested (mostly accessibility, but some had also styling bugs).

To be honest, in September, I was quite bored and somewhat anxious to have something to do. Now that autumn was making evenings darker and darker, and the weather was getting colder, limiting the possible outdoor activities, an empty calendar felt depressing.

But when October kept coming closer, I found myself feeling more and more excited! I had the energy and time to participate (thanks Covid-19 for clearing out my calendar), I had a laptop and working internet connection AND on top of all this, I had done all that work collecting interesting repos and issues, so I had basically a ready made todo list at my disposal. I would totally win this Hacktoberfest!

And as we know, the rules changed in the beginning of October, which pretty much scrapped my todo list, as many of the repos on my list didn't opt-in to participate in Hacktoberfest. But in the end, I found other repos that were participating, so the rule change didn't prevent me from finishing Hacktoberfest. Also, I am so happy for the maintainers, that Hacktoberfest is now opt-in, as it saves so much spam and unnecessary work from them.

## Development process related insights

As I worked mostly with technologies that are already familiar to me, most learning insights I had were about the development process in general.

### Issue and PR templates in GitHub are SO USEFUL 📝

It's quite difficult to start fixing an issue, if the issue doesn't have even a basic description of what the context is, and how the feature should work. Therefore, having issue reporters use an issue template is a really helpful practice.

Also, when submitting in a PR, when you have to fill in a PR template that reminds you to check all the things the reviewers are giving most feedback about, this saves a lot of time and nerves from the submitter of the PR and a lot of time and unnecessary work from the maintainer or reviewer.

## Social interaction really helps with motivation 👩🏼‍🤝‍👩🏻

### Slack channel #️⃣

As we are living in this "new normal" and most face-to-face events are cancelled, I obviously couldn't just go to a Hacktoberfest event and work on my PRs with friends and random strangers. But I was really confident that having some kind of social support network would help, so I set-up a public channel to a women and non-binary developer Slack space that I'm part of, and started engaging with people in there.

We discussed topics like:

-   the new rules and how they affect finding possible repos
-   how to find issues that fit your skill level
-   with whom we could spar and rubber duck debug if we got stuck

What was particularly rewarding, was that the channel attracted people who hadn't heard of Hacktoberfest before, and some of them even finished Hacktoberfest!

### Remote pair programming session every week 👩🏼‍💻🔁👩🏾‍💻

In addition to the asynchronous chatter and support of the Slack channel, I also wanted something more synchronous and personal. And therefore I asked close developer friends, who were also participating in Hacktoberfest, if they would like to have remote pair programming sessions with me. I asked four people in total, and ended up having one pair programming session per week! It didn't matter that the sessions were always with different people: the main idea was to get support and exchange ideas and feelings about how we're doing and if we're stuck on something, how do we get forward.

I will definitely do these session again in next year's Hacktoberfest!

## It matters how your employer relates to open source 💵

I happen to work for a company, who financially compensates employees to contribute to open source. First of all, it's a huge privilege. Secondly, I haven't used this privilege as much as I wish I had, but when October started, this financial support system made it even easier for me to contribute.

But what I realised during Hacktoberfest, is that the money alone isn't a sufficient motivator (not at least for me). I need some kind of other motivator, whether that is something social (like the pair programming sessions) or a cute prize (like the swag from Hacktoberfest).

Come to think of it, I could run a personal Hacktoberfest every month - decide how many PRs I want to get done this month, and decide a prize that I get, if I finish the challenge. Let's see if I'll do this! But in any case, I want to continue this spark of joy that comes from contributing to open source, and having your PR reviewed and merged to a library that I have used.

## Some random facts 🌀

Safari WTF. Why does it have a default setting, that makes it not focus on buttons and other inputs with keyboard navigation?!?! You can change this setting to being able to focus on buttons and inputs, but it is just weird and confusing to have this as DEFAULT. Safari WTF.

Dev.to has a special badge that you get when you finish Hacktoberfest! Can't wait to have my badge!!