James Sheppard
4 min readDec 11, 2020

--

Contributing to My First Open Source Project After Graduating from a Boot Camp

When I was seven years old, my father and I went to a water park together in the summer. There was a colossal water slide, and my father asked me if I wanted to try it. Initially, I shook my head and told him “no,” because I was scared. Later in the day, I finally gathered the courage to slip down that monster of a slide, and after my first run I was hooked.

Making my first open source contribution was a similar experience. I had heard a lot about pull requests and open source, but until recently, I was too scared to look into them. After completing the Upleveled Boot Camp in Vienna, Austria, I gathered my courage, yet again, and slipped down the slide of open source contributions.

Before I looked for an open source project, I wanted to learn more about how to make a contribution. In order to do this, I used the first-contributions repository to familiarize myself with forking, cloning and making pull requests.

Fork example from github docs

After making a successful pull request, I wanted to find a project that would help me develop the skills I acquired in the boot camp. Github made it easy to filter through issues with the “good-first-issue” label. I went to the “Issues” page and found a lot of possible projects after entering the following filters: is:issue; is:open; label:good-first-issue.

good first issue label example

The label:good-first-issue is great, because it let me know that a given project wanted my help as a first-time-contributor.

Some of the project titles were intimidating, so I opened a new tab for any project description that I understood, or any project that used technologies I had used.

Github issues page

It took a good amount of time for me to find a suitable project, but I eventually found an issue with HTML and CSS tags and a comprehensible description. I forked the repository and cloned it to my machine. At this point, I thought it would be a good idea to let the project creators know that I was working on one of their issues.

Message asking if assignment is necessary

After introducing myself to the humans behind the code, I opened the project in my editor and acquainted myself with the code itself. I knew that looking at another programmer’s code would be a great experience for me, even if the issue was not assigned to me. One thing that I forgot to check at first, but would suggest to any first-time-contributor, would be to look at the README before you begin, so that you have a better understanding of the project’s ins and outs.

Next, I tried to find the problem that the issue was addressing. I searched for the files that seemed important to my task and began to make sense of the code base. I was nervous to make changes at first, but I became more comfortable once I had a better understanding of the code base. I created message cards for the text in the project’s messenger, updated a few styles, and implemented my Flexbox skills.

I tested my designs in development, and when I felt that I had a good solution, I started working on my pull request. To me, the most important part of the pull request process is the following command:

git checkout new branch command

Checking out a new branch ensures that you do not push any of your changes directly to the main branch. After this, I followed the directions from the first-contributions repository and completed the pull request in my forked version of the project.

If there is one thing that I could change about my first few open source experiences, it is that I would have double checked the changes I made. In other words, I should have cleaned up my station. Here is an example of something I should have cleaned up:

Example of unnecessary addition to code base

To my delight, my pull request was accepted and my first contribution to an open source project was completed. Now that I have taken my ride on the contribution slide, I look forward to contributing to more projects in the future.

Big thanks to everyone in Coding Circles, but especially Jack Vaught for teaching me about pull requests, and Andy Scheff for encouraging me to write this article. Many thanks to Antje Enzi and Karl Horky from Upleveled Coding Boot Camp for all of their help during my time at the boot camp.

--

--