Look, it's difficult to get into open source. It always has been, but it appears to have gotten harder over time as good first bugs become less and less common. You might look at a project like Django and be unable to find anything suitable for a programmer at your level.
But real life isn't an RPG and you don't only become stronger when you level upāany experience gained can be helpful. If you're struggling with or intimidated by the idea of getting into open source, start by just getting projects to build at all.
Here's a fun exercise: Go download the curl source code. Read GIT-INFO.md and try to get it to build. If you're not familiar with the tools it mentions, look them up. Figure out what they do. Then install em and try again until you get curl working.
Once you've got curl working, try to figure out how to add a new flag --eggbug that prints out "EGGBUG" at the top of the output. You'll probably have to do some text searching for an existing flag like --help and then trace through the code to see where it gets pulled in. You might get stuckāthat's okay. Ask someone for help!
So many people think the first step of open source is finding the exact right library with the exact right bug and claiming it so no one else is working on it too. That's backwardsāfirst you need to prove to yourself that you can actually make any change to the project, and the process of doing so itself will teach you a ton.
the other thing you can do, while it's not a contribution, is trawl old issues, load the commit that it was for, and fix the bug yourself for the experience
a related point about open source:
you may look through the issues, and think that just because someone hasn't tackled the bug it must be a hard problem.
but no, it just means they don't have time to dig into it
when you solve a bug, chances are you are the domain-expert for that bug and that cannot be stressed enough.
