Put your new coding skills to work building a better world

It's not a dream, it's open source

Congratulations! You’ve built your own website in HTML & CSS! Now, what to do next?

What if I told you that: you could take your new skills and immediately put them to work contributing to a better world, while continuing to improve those skills and learn more about software development?

It’s not a dream, it’s open source!

Working on open source software development projects is the best way to:

  • Get familiar with new programming languages and development frameworks.

  • Have a global impact on causes like government transparency and stopping human trafficking.

  • Get feedback on your work from seasoned developers.

  • And most importantly, gain valuable, and marketable, software development experience doing exactly what professional developers get hired to do–collaboratively build software with a distributed group of people, to meet the needs and goals of an outside organization.

“When you are learning how to code, the best way to learn is to have a project to work on,” says Vanessa Hurst, founder of Girl Develop It, and most recently, Code Montage. “Although working on a private, personal project is great, the more open something is the more opportunities you have to learn. If you work on an open source project you will get to learn from code that other developers are writing, get exposed to new languages you might not already know, and even get mentored on your coding.”

How to get started contributing to open source

1. Pick a language or a social cause you want to work on
Vanessa recommends is that the first thing you should do is pick a programming language you are interested in learning more about (Ruby, PHP, Python, or JavaScript, for example), or a cause you want to impact. This will help narrow your search.

2. Then, find the right project for you
Code Triage lists open source projects by language, Open Hatch organizes projects by language, topic, and difficulty, and Code Montage is the best place to find projects with a social mission.

3. Sign up for Github & start following a project

Git & Github may seem a little scary to a beginning coder, but we promise, it’s a super friendly place!

Start by signing up for Github, and then you can either install Git on your computer & connect to Github via the command line, or download one of Github’s user-friendly desktop apps like this one for Macs.

Once you are all set on Github, start watching a project by clicking the “Watch” button and browse the list of open issues (found in the “Issues” tab on Github) to see if there isn’t something that you can help with.

When you get an alert about a recent commit to repository, take some time to read the commit message and see what code the developer wrote.

4. Download & install the app on your computer
When you’re ready to dive in, start by forking the repository, download the app to your machine, and get the app running.

Before you write even a line of code, one of the most valuable contributions you can make to an open source project is to give them feedback on their documentation. Was it easy for you to install the app on your computer? What hurdles did you run into and what did you have to do in order to overcome them?

Don’t be shy that you are coming at the installation process from a beginner’s perspective, that perspective is actually a goldmine for open source projects because you are validating (or invalidating) the accessibility of the software and documentation they have created.

5. Start writing code & then, submit your first pull request
When you are all set with the app on your machine, it’s time to start coding!

Ideally, you would create a Git branch and make all of your changes on that branch, this allows you to make changes and break things without affecting the master branch.

When you are getting going, start with simple tasks like fixing typos or improving the design of the project’s user interface. Those contributions are incredibly valuable, but are often de-prioritized by developers more focused on the app infrastructure.

Then, when you’re ready for primetime, push your branch up to your Github repository and submit a pull request.

Congratulations! You’ve submitted a change to an open source project!!