I got this question in my DM yesterday so here’s how I do it.
(1) Contribute to something you use.
If you have been a dev for some time, chances are you are using many things open source. Eg - youtube-dl, NextJS, ReactJS, Prettier.
Even things that are not open source can have open-source components. Eg - Firebase.
Deciding to contribute to something you use ensures you have the background knowledge and the motivation to do the contribution.
An open-source contribution is a challenging process so this is important.
(2) Look into issues, pick one that excites you
Popular projects have tons of issues. Pick one that you understand and think you can do.
Don’t be ashamed if it’s an easy issue. All contributions matter.
(3) Clone the codebase, understand it and then do the fix
Don’t worry if understanding the codebase takes time. It is expected to take time.
(4) Finally, send a PR
Your PR may not get merged in a day or two. This is normal.
Project maintainers are busy and have a backlog of PRs.
Gently remind them after a week.
Follow through their feedback, and soon you will have your PR merged.