Contributing to Open Source isn’t that hard: my journey to contributing to the Node.js project
As a developer, you should consider contributing to open source software. Many of your potential employers will look favorably on these contributions.
But when you’re a new developer, it may feel like contributing to open source is beyond your current skill set. So I’m going to show you how to ignore those feelings of doubt, and how you can start contributing to open source right now.
How I learned Node.js
I first learned about Node.js at my coding bootcamp. The bootcamp specialized in JavaScript. Node.js provides a back-end for a project that is written in JavaScript. So if you have learned JavaScript on the front-end, then you can easily transfer your skills to the back-end with Node.js.
Once I graduated from my coding bootcamp, I was motivated to improve my coding skills as quickly as possible. The only way to do this was to write as much code as possible so I could improve. That’s when I joined freeCodeCamp.
Over a six month period, I completed all four of freeCodeCamp’s original certifications in the freeCodeCamp curriculum. When I got to the section focused on building projects, I used JavaScript and Node.js on the back-end. After completing all the certifications, I worked on one of freeCodeCamp’s initial non-profit projects. The project was for Crimes Committed Against Women.
Contributing to Open Source
The non-profit project that I worked on with Danny Libin can be found here. Both Danny and I were new developers. Danny is a pharmacist that decided to learn to code on the side. We both applied our newly acquired programming skills to create this project. freeCodeCamp has taken our original code and converted it into an open source project called Meeting for Good.
Anyone can contribute to this open source code. Remember that two junior developers wrote the initial code. So even if you consider yourself a junior developer, then you have the same level of skills that we had. The good news is that freeCodeCamp has other open source code besides this one that you can contribute to. Check out their GitHub repo to find an open source project. freeCodeCamp also has an excellent guide on contributing to open source.
To contribute to any open source code, visit their repo on GitHub. The code will have a tab labeled “Issues.” These are issues that people have identified with the code. They can also be new features that the maintainers of the code would like to add. You can review all these issues to find something for you to work on to contribute.
Most open source software will have a file named “CONTRIBUTING.MD”. This file will explain precisely how you can contribute. Read the instructions and follow them exactly.
Contributing to Node.js
My day job is working as a JavaScript developer. Every job I have had since I learned to code has used Node.js on the back-end. I have taught several three-hour workshops on Node.js, Express.js, and MongoDB for Women Who Code Atlanta. So since I was already familiar with Node.js, I became interested in contributing to its source code.
You can look at the “Contributors” for any repo on GitHub and learn who is contributing to the source code. From this, I learned that Franziska Hinkelman and Myles Borins were core contributors. I emailed both of them to ask how to get involved with contributing to Node.js.
Myles mentioned that they were going to start a mentorship program. He gave me the direct link to signup for the mentorship program before it was announced. I was probably the very first person to sign up.
Franziska responded to my email. She was willing to work with me to get my first contribution completed. Due to our schedules, we were not able to schedule a meeting until a few weeks later. On the scheduled date and time we got together via Google Hangouts. Franziska showed me how to look at the “Issues” and find ones labeled as “Good First Issue.”
Franziska and I found an easy issue. She explained what was causing the problem. We needed more information from the person that opened the issue. From there I reached out to that person to get the information required. Once I got it, I was able to address the issue. Then I was able to submit a request to close out the issue. This was my first open source contribution to Node.js.
The Node.js Mentorship Program
The Node.js Committee is looking for more people to contribute to the Node.js source code. Currently, there are over 600 issues that are waiting for somebody to contribute to them. To get more people involved, the Node.js Committee has started a Node.js Mentorship program.
This program is open to anyone interested in contributing to Open Source Software. This program is open to anyone regardless of their current skill level. Junior and Senior developers are welcome.
Currently, the program is in Beta. They selected four people to be the first mentees in the Beta program. Luckily for me, I was one of the four people chosen. I was selected because of the contribution that I made with Franziska’s help.
When the program goes live, it will last for six months. During this time a group of mentees will be paired up with a mentor. The mentor will show them how to contribute to Node.js. The mentees will be expected to apply what they learn and contribute to the source code. After six months the class will graduate. Mentees will then be eligible to become mentors in the next class to work with their own set of mentees.
If you are interested in joining the mentorship program, you can sign up here.
I am creating a series of videos detailing my experience with the Beta version of the Node.js Mentorship program. I have videos showing my contributions, as well as recordings of all my meetings with my mentor. You can watch them here. I am also keeping a diary of my experience in the program which you can read here.