This is an automated archive made by the Lemmit Bot.

The original was posted on /r/opensource by /u/robbyrussell on 2024-06-21 17:00:30+00:00.


“Do you have any advice on how I can get started in open source?”

I often hear this question from junior developers who may not yet believe in the value of their potential contributions. When they express their hesitations, such as not feeling confident in their skills or uncertainty about which projects to contribute to, I remind them of the unique perspective and fresh ideas they can bring.

One common response to this question is, “You can help improve the documentation.” This is not just a way to contribute but also a valuable learning opportunity. By diving into the project’s code and understanding its structure, junior developers can gain a deeper understanding of software development.

While I agree that it is a great first way to contribute, I don’t believe it will boost their confidence.

My go-to suggestion now is to convey the following.

Nobody needs to know.

Nobody needs to know that you picked an open source project that you’re mildly curious about.

Nobody needs to know that you cloned the repository on your development machine.

Nobody needs to know that you struggled to get the code running locally.

Nobody needs to know that you eventually figured out how to get the code running.

Nobody needs to know that you began to try breaking it intentionally.

Nobody needs to know that you started modifying a feature.

Nobody needs to know that you didn’t figure out how to make it work.

Nobody needs to know that you attempted to add more automated tests to the project.

Nobody needs to know that you struggled with this.

Nobody needs to know that you ran: git reset --hard and started over again.

Nobody needs to know that you grumbled, “fuck this stupid project,” and rm -rf'd your copy of the project.

Nobody needs to know that you went and tried this all again with a different project.

Nobody needs to know you did this a dozen times across a dozen projects.

Nobody needs to know that you figured out how to get a project running successfully and started making sense of it.

Nobody needs to know that you decided to look at the Issues list on the GitHub project.

Nobody needs to know that you found an open Issue that you wanted to see if you could fix.

Nobody needs to know that you decided to “assign” it to yourself.

Nobody needs to know that you spend several hours trying to fix it, to no avail.

Nobody needs to know that you’ve done any of this.

Nobody needs to know.

Until you’re ready to show them just how much you know.

Robby Russell

Creator of Oh My Zsh