As you contribute more to a given project, you become more acquainted with the lay of the land, which in turn opens up more opportunities to contribute to open problems.
Long story short: contributions don't have to be complex and deeply technical to be valuable, and you gotta start somewhere. Pick a project you're interested in or look for issues needing attention (for example, via `Good First Issue` labels on Github), try something out and have a chat with more active maintainers. They'll show you the ropes and get you started!
Quite a while back I wrote https://zynaddsubfx.sourceforge.io/contribute.html which walks through various levels of complexities and how to get started. Other open source projects may have similar getting started guides.
By reading and improving documentation you get to better know the project. Give it a try on you machine and interact with it. If you have not seen something that can be improved technically, go to the "issues" page and see what are the bugs I there, sometimes owners tag some of the issues as "good first bug", those are easy to tackle and help you get to setup a development environment for the project. Helping on Open source does not require you to be smart, dedication and willingness to help is more important most of the time.
A good place to start: https://github.com/slowernews/awesome-open-source-by-country...