I am not a professional developer, nor will I ever claim to be one. My code is nothing amazing, but that’s not the point. I enjoying programming and try and put my little programs and scripts up on Github. I like working on my projects, but I have never worked on a bigger project or a multi-contributor project. I looked at the big open-source projects I used all the time and wanted to help, but didn’t feel like I could contribute anything meaningful to them.
Enter Hacktoberfest a month long event sponsored by Digital Ocean. The idea of the event is to make five contributions to projects on Github. If you complete your five pull requests before the end of the month they send you a free t-shirt. The thought of a free shirt was all it took to get me interested and start my journey.
While Hacktoberfest recommends that you should be doing quality pull requests what mattered in the end was the quantity. I had to go through some tutorials on how to properly do a pull request, but I figured it out. My first pull request was to a beginners project where you submit your name to a list. While it was simple it was a really good first experience and helped me see how the process worked and what to expect as I progressed through my month long challenge.
Two more of my pull requests were simple additions or cleanups of these beginner projects. I decided that I needed to try something more, so I dug through a list of projects and found one that interested me enough to try modifying code. I act as if it was a big project. It was a website about cheese and had a page with pictures of cheese. There was a button at the top that would change a banner div to a random cheese picture. I won’t say how long it took (hours, not days) but I fixed the scaling issue that was going on with the page as well as the random cheese image generator. I was very pleased with how it ended up, but my pull request never went anywhere. The page had been modified in different ways after my fork, and my pull sort of got lost in the shuffle.
My last pull request was my best experience. It was on another one of the beginner projects with a list of names, but I decided to not submit my name, but instead work on an open issue with the project. The issue wanted to get the list of names alphabetized and make it easier for new contributors. It took me about 30 minutes to organize the list and clean up the page to make it clearer for new contributions. My pull was accepted and I was so excited, but it wasn’t merged until I resolved conflicts. This was new to me. I didn’t realize that this was a thing I would have to do. I had to look up how to it. I found the discrepancies between my branch and the master, merged them in, and submitted my resolution. It was accepted and merged into the master branch. This was my favorite moment of the entire process. Code I wrote was live in the master branch of someone else project!
Hacktoberfest worked for me. I now feel like I could more successfully contribute to an open-source project. I still have to get over being as self-conscious about my code, but the process is no longer foreign to me. It was a great experience and one that I would highly recommend.