Find an open source project that interests you, and start helping. Even better if it's a project you use and you're aware of some sore spots. Start small, with documentation issues or easy pickings tasks. This is to get you familiar with the project and contribution processes. Then work your way up.
By familiarizing yourself with a large codebase, you'll start to pick up the patterns in use. Having your code reviewed by project owners is a great way to get others to help you improve.
Some projects and communities are better than others. Some can be hostile or quiet, others can be welcoming and active.
Don't just start by throwing PRs at random projects and hoping someone bites. Managing an open source project is work and initially you want to be causing as little extra work for the maintainers as possible.
By familiarizing yourself with a large codebase, you'll start to pick up the patterns in use. Having your code reviewed by project owners is a great way to get others to help you improve.
Some projects and communities are better than others. Some can be hostile or quiet, others can be welcoming and active.
Don't just start by throwing PRs at random projects and hoping someone bites. Managing an open source project is work and initially you want to be causing as little extra work for the maintainers as possible.