I was recently invited to speak at Github Field Day LA on a topic of my choice. As Github was the main sponsor of the event, I thought I would give a talk on my experience in the overarching Open Source Community, and how/why to get started with making contributions to Open Source projects.

For a video of the talk with slides, scroll to the bottom!

Some (optional) background: Github Field Day is a regional unconference for leaders of technical student communities. Github Field Day LA had student leaders from UCLA, USC, Caltech, UCR, Cal Poly Pomona, and many other campuses in the Southern California region.

The goal of my talk was to convince these leaders to adopt the mindset of contributing to Open Source and then teaching the students at their schools how to do the same.

Why should I contribute to Open Source?

So you’ve heard of Open Source projects, but always thought they weren’t approachable. Or maybe you thought that it wouldn’t be beneficial to you at your skill level. However, Open Source can help you advance yourself technically and professionally. Here are some of the main ways that contributing to Open Source can help you develop yourself:

Open Source Can Develop Your Skills

Whether you’re learning a new technology or you’ve been using it for ages, there are Open Source projects looking for someone of your skill level!

By contributing to an Open Source project, you are learning how a technology is used in industry. You also get the valuable side effect of getting acclimated to large, robust codebases!

Open Source Can Count As Experience

You may wonder: why would contributing to an Open Source project count as work experience? You’re not employed by the company hosting the project, and you’re not getting paid for it.

However, by contributing to a companies open source project, you are required to perform at the bar that the company holds its employees against. This means that there is very little separating you from the engineers that are employed and getting paid for their contributions! This transitions very effectively into the next point.

Open Source Can Help You Network

As I explained earlier, contributing to an Open Source project can count as valuable work experience. As you contribute more and become a prolific member of the open source community, you will start to meet new people online!

Now when you meet potential connections at a meetup/conference/company, you can anchor your experience to a project that they have used or worked on. Contributing to Open Source can also help you in your job search! If you’ve already contributed to an Open Source project in a certain company, you immediately become a very competitive candidate. (Again, there is now very little separating you from the engineers already working at that company!)

Open Source Can Make Your Job Easier

Lastly, your motivation for contributing to an Open Source project may be because you want to make your job easier. If you are using a certain library or framework and notice a bug or need a new feature, take a little time to file an issue and/or work on it!

If the new feature is implemented or the bug is fixed, congratulations! You’ve just made your job easier. Now the logic for your use case is handled by a library that doesn’t rely completely on your future contributions. (As other contributors can continue your work.) In addition, you may have improved the experience for other users of the library or framework!

How Can I Start Contributing?

Hopefully, I’ve convinced you to look into contributing to an Open Source project. But how do you find something to work on?