Hey gang 👋
Making your first coding contribution can seem SCARY. 🧟♀️
At Quine, we are super happy to have recently hired Lorenzo, a fantastic product intern!
His first task was:
- after signing up and heading to "Contribute", use our free open-source search tool to solve your first open-source issue.
Here is his story of becoming a first-time coding contributor accompanied by his insights on how you can do the same :
The journey started when I first discovered Quine and got introduced to the open-source (OS) world. I initially did some courses on how to use GitHub and how projects are usually laid out. There were some videos on Youtube as well as DataCamp that helped me do this for free.
Once I had enough information, I looked for a repository (also called repo) to which I could contribute. This is where I found quine.sh extremely useful as browsing repos on GitHub can be a chore. However, here I could filter by my language and topic of preference which was very useful.
Once I found a repo I wanted to contribute to, I went to see what good starter issues existed. Since I learned to read documentations in school, an excellent first contribution was fixing aspects of a documentation (if you want to learn the mechanics on how to contribute to documentation click here). Once I made my contribution and it was accepted, I still missed a big part of the experience: making a coding contribution.
In this, I continued to use Quine to look for repos that had more my level of skill and that were more approachable. Once I found an issue I thought I could do, I had to understand how contributions were formatted and done in that repo.
This took some time but it was a needed part of the journey. After feeling confident enough in it, I sent over my contribution. There was some back and forth with the project owner (that are called maintainers on GitHub), which ultimately led to my contribution being accepted. 🎉
Open source is for anyone who wants to be part of a project and a community. Whether you are a veteran programmer or a beginner, there is always a place, repo and issue for you.
If you want to be part of open-source, you want to be part of a meaningful project. On a side note, I do find that the beauty of it comes when a valuable project brings people from all over the world together.🌟
My biggest mistake was waiting for maintainers to respond and not utilising that time to contribute to more repos. I wholeheartedly recommend spending the downtime solving new issues.
Indeed, it is possible that sometimes maintainers do not answer back to you. In these cases it is good to have worked on other projects. Also, to anticipate for this, you can find the response rate of maintainers on quine before going for a specific issue. This will help you in your decision process of which projects you want to commit your time on.
I would focus on making as many pull requests (PRs) as I could. A PR is when a developer sends a contribution to an open-source project. It is then on the project owner to either accept or reject the PR/contribution.
This is the best way a beginner can improve. When making many PRs, you can quickly enhance and gather knowledge on how each repo work - especially since the project maintainers can guide you in the process.
In no particular order:
1. Find a repo that you feel comfortable with. Don't feel intimidated by the big technical projects. The first contribution can often be the hardest because you need help finding a repo or an issue that fits you.
2. Make sure not to limit yourself to a single repo or a single issue. Particularly when starting, attempting the most issues gives you the best chance to get a PR merged. You will also find that when PRs don't get merged, you learn a lot of valuable insights into how the repo works and what is needed.
3. Don’t be afraid to fail or ask questions. I failed a couple of times in my journey to make my first contribution. For example, I had to go through a lot of back and forth with maintainers. I also had to Google or StackOverflow a couple of things. Don't think that asking questions is a sign of weakness. It is a strength.
If you are ready to start contributing to other projects, we have compiled a list of projects with easy issues you can start with. Check out the list of projects on quine. sh, and here's a short playlist in case you are blocked. 🚀
If you haven't yet, you could join our discord server if you need any help or have any questions.