DEV Community

Discussion on: How to start contributing to open source as a junior or newbie?

Collapse
 
__mateidavid profile image
Matei David

I'm in a junior role at the moment. At my job, writing code does not depend on seniority or hierarchy, but on need and ability.

I have written code since my first week, and some of the changes I have made to the codebase had a positive impact. I think writing code should be done by everyone regardless of position in company.

As to open source projects, I'm lucky to have a team that has actively encouraged me to contribute to the open source tools that we use. My advice is find a project you like or have used in the past, try a library perhaps, something that is not overly popular (e.g don't go straight for Kubernetes/React) and get familiar with the codebase and use cases. Track the issues or create a PR based on something you would need out of the project if you can't find an issue. My biggest fear was the community, trust me, there are some people with bad attitudes but the open source community is a bliss to work with, don't be afraid to ask questions or get involved in projects! Good luck.

Collapse
 
jenc profile image
Jen Chan

This is very relieving to know there are places that also trust and encourage juniors to push to production.

"My biggest fear was the community..." I think you've pulled the words out of my mouth!

That is true I should start with a tool/library that I like and use a lot. Duh!

Collapse
 
__mateidavid profile image
Matei David

I'm glad you're determined to contribute to open source! Trust me, once you see your first PR merged in (where you contribute a fix or a feature) you will feel amazing.

Also, another thing to keep in mind and that I was told when I began my internship for my current company is that it's ok to be confused. A lot of developers are confused as to what the task is, what they need to do, what different parts of a program do etc. This applies to open source projects, once you find a project you're comfortable with, spend some time to read the code base and see how everything ties together, and remember it's ok if it doesn't instantly click! I myself needed a good week to understand the most basic parts of my first project. You can always just open an issue and ask if help is needed, or ask for help in case you need some clarifying!

Right now I'm focusing on platform/core infrastructure, these are two of the projects that I have contributed to and that have very good communities:

  • kube-aws - CLI for K8s clusters in AWS
  • helm/charts - charts for Helm (package manager for Kubernetes)

These might not be your cup of tea but you can take a look around to see what kind of work people put in and what (lesser) known projects look like. If you need any help, give me a shout!

Break a leg on your open source journey!