What I learned from Hacktoberfest

This year, I participated in Hacktoberfest for the first time. This was my first time making a real contribution to an open source repository, and it felt great. I loved being able to help others and improve my skills at the same time (not to mention getting a free t shirt out of it). I learned a lot from it, and I wanted to share some of that in this post.

1: The right repository is out there

I had tried to contribute to open source before (I’ve been using Github for four years now). However, it seemed like any time I found a repository that interested me, it was well beyond my skill level. However, I learned that if you look through the open issues you can normally find something that you can handle, even if you are pretty inexperienced. As an example, one of the projects I contributed to was called Photoprism. Even though the project had a fairly large codebase and I was pretty unfamiliar with it, I still found a way to contribute. I helped provide some documentation to a few functions in the project. Was it a small contribution? Yes. Did I learn a lot? Absolutely.

Quick shoutout to @lastzero for being so patient with me. Thanks so much for your support!

2: Don’t be afraid to be ignorant

Before Hacktoberfest, I had this idea in my head that all developers would be condescending towards ignorance. To be sure, there are lots of people out there like that. It is the internet, after all. However, I found that, in general, people tend to appreciate it when you are trying to help, even if you have some stupid questions.

If it had not been for the support I received from the maintainers of the various projects I contributed to, I doubt I would want to continue in the world of open-source.

3: I don’t know how to write tests

This has less to do with open-source and more to do with what I set out to learn during Hacktoberfest. I love GoLang as programming language. However, I have very limited experience with it. For this reason, I decided to focus my contributions on go-based repositories so I could practice. One of the things I wanted to learn about was writing tests in go. I found out that it’s harder than I thought.

Don’t get me wrong, writing the test itself is easy. The problem is in designing the test in the first place. I found that it was very difficult to write tests for functions that were already written. This experience opened my eyes to some of the benefits of Test Driven Development. I had never understood how hard writing tests was until I tried making some myself.

While I did not learn perfect test writing practices, I did gain some more practice working with Go in general, especially while I was working on Multi-Go.

I loved participating in Hacktoberfest and hope to keep the spirit of it going through Open Source Friday.

What has your experience with Open Source been like? Share in the comments below!

Want more Semi-Structured Thoughts? Subscribe here.

comments powered by Disqus