DEV Community

Cover image for Choose Your Own Adventure in Open Source: Paths to Success
BekahHW for OpenSauced

Posted on • Edited on • Originally published at opensauced.pizza

Choose Your Own Adventure in Open Source: Paths to Success

Welcome to the Choose Your Own Adventure blog post for new contributors! Each person’s journey into open source will take a different path. As a new contributor, you may have different goals that you want to achieve through contributing to open source projects. This blog post will guide you through a few different paths based on your goals. Choose your path below and start your adventure!

Choose Your Path

  1. Path 1: Improve Your Coding Skills
  2. Path 2: Work on a Project Related to Your Interests or Fields of Study
  3. Path 3: Work on a Project That Has a Significant Impact on the Community
  4. Path 4: Get Work Experience with the Goal of Landing a Job
  5. Path 5: To Gain Credibility in the Industry

Improve Your Coding Skills

Meet Alex, a college student majoring in computer science who wants to improve their coding skills by contributing to open source projects. Alex has taken programming classes and has some experience coding, but wants to work on real-world projects to gain more experience. Alex starts researching open source projects and finds a project that has "good first issues" labeled on its repository. Alex starts small, fixing a bug in the codebase and submitting a pull request. The pull request is accepted and Alex is thrilled to have contributed to the project. Over time, Alex works on more issues and tasks, building their skills and experience as a developer.

If your goal is to improve your coding skills, there are many open source projects that are perfect for beginners. Here are a few steps to help you get started:

Step 1: Choose a project that is beginner-friendly. Look for projects that have clear documentation and guidelines for getting started.

Step 2: Look for issues or tasks that are labeled as "good first issues" or "beginner-friendly." These issues are designed to help new contributors get started.

Step 3: Start small and work your way up. Don't be afraid to ask questions or reach out to the community for help.

Work on a Project Related to Your Interests or Fields of Study

Meet Maya, a music major who is passionate about technology and wants to work on a project that relates to her field. Maya joins a music technology community and finds an open source project that creates tools for musicians. Maya starts contributing by testing the software and submitting bug reports. Over time, Maya becomes more involved in the community and starts working on new features and improvements for the software. Through her contributions, Maya gains experience as a developer and also gains a deeper understanding of the intersection between music and technology.

If your goal is to work on a project related to your interests or field of study, there are many open source projects out there that align with different industries or fields. Here are a few steps to help you get started:

Step 1: Determine your interests or field of study. Look for communities or open source projects that are related to your interests or field.

Step 2: Explore GitHub Connections to see if any projects align with your interests.

Work on a Project That Has a Significant Impact on the Community

Meet Javier, a software engineer who wants to use his skills to make a positive impact on the world. Javier joins a community that focuses on environmental issues and finds an open source project that creates tools for monitoring air pollution. Javier starts contributing by working on a new feature that helps users visualize the data more effectively. Through his contributions, Javier learns more about the challenges of environmental monitoring and gains a sense of purpose from his work.

If your goal is to work on a project that has a significant impact on the community, there are many open source projects that are focused on solving real-world problems. Here are a few steps to help you get started:

Step 1: Determine the problems or issues that you want to address. They don’t have to be global issues–often small communities need a lot of technological support.

Step 2: Reach out to your favorite non-profit organizations or your local government to see if they have recommendations or need support.

Get Work Experience with the Goal of Landing a Job

Meet Tilda, a self-taught developer who is looking for work as a software engineer. Tilda wants to gain experience and build her resume by contributing to open source projects. At a meetup, she hears about a project that needs support with test writing. She doesn’t have a lot of experience writing tests, but she talks to the speaker after the talk who is supportive and offers to help if she gets stuck. Once she’s written a couple of tests, she feels more comfortable navigating the codebase and successfully squashes her first bug! She also adds her contributions to the project to her resume and is eventually hired by a company that values open source contributions.

If your goal is to get work experience with the goal of landing a job, contributing to open source projects is a great way to gain experience and build your resume. Here are a few steps to help you get started:

Step 1: Look for open source projects that are related to your field or industry. Look for projects that are being used by companies you are interested in working for.

Step 2: Look for issues that help you to build a resume to land a job. For example, if you’re applying for jobs that require you to use React, build your React experience by taking on issues using that technology.

Step 3: Start contributing and building your portfolio. Highlight your contributions to open source projects as examples of your work experience and to gain exposure.

To Gain Credibility in the Industry

Meet Jaymir, a software engineer a year of experience who wants to gain more credibility in the industry. His job hasn’t challenged him in the ways that he’s hoped and he wants to grow, learn new things, and feel motivated. Jaymir joins a community related to the field of expertise he hopes to move into and finds an open source project that creates tools for performance monitoring. Jaymir starts by using the tool, reading the documentation and issues, and then takes an issue that he knows will challenge him. Over time, Jaymir becomes more involved in the project and starts working on more complex features. Through his contributions, Jaymir gains recognition in the community and is invited to speak at a conference about his work on the project. His contributions to the project also catch the attention of a recruiter who offers him a more advanced job at a software company that’s a better fit.

If your goal is to gain credibility in the industry, contributing to open source projects is a great way to showcase your skills and expertise. Here are a few steps to help you get started:

Step 1: Determine how you want to build credibility.

Step 2: You can use OpenSauced's Explore feature to look for issues that will challenge you to grow or learn new things.

Everyone’s journey into open source will look different. Some people will have repeat contributions to the same codebases. Others will collect projects like Pokemon. Others might contribute once and then not make a second contribution to open source for years. What’s important is understanding what you want to get out of the journey and then find ways to do that. And remember, if the path you’ve been on is too rocky or steep, there are other paths out there. There’s a journey for everyone.

Top comments (5)

Collapse
 
lico profile image
SeongKuk Han • Edited

The stories which were introduced in this post sound really interesting and perfect examples to show each case. I've always wanted to contribute for open sources but it wasn't easy to try somehow, I should give a try again. Thanks for the post.

Collapse
 
rishadomar profile image
Rishad Omar

Thanks for the motivation. I'm keen on a community project to help improve reading and math skills amongst children.

Collapse
 
bekahhw profile image
BekahHW

You might be interested in Battle Math from @jesserweigel!

Collapse
 
jesserweigel profile image
Jesse R Weigel

Thanks so much for mentioning my project! Please take a look at the repo and let me know if you have any questions.

Collapse
 
asheesh25 profile image
Asheesh Upadhyay

Can anyone suugest me an open source project to improve my coding in java? Thank you!