The way I imagine things to work is, someone with more experience in the project you want to work on will help you get started contributing and learning the code base.
If you use a product extensively and know exactly what you want to contribute and why, you go in with surgical precision and try not to screw it up.