>>> contribute to an open source project
It's a very very common advice and I believe a wrong one, especially to novice developers. It's simply... Not that easy. Yes, there are tons of projects but most of them are pretty damn large or mature enough so that easy tasks have been a long time ago. Some projects (e.g. servo) have web sites dedicated to new contributors where you can filter issues marked as easy but there are not many projects to choose from. You can look for small, less popular projects... But that's not an easy task either. Plenty of experienced developers have an issue 'want to contribute, don't know where' and they find it tricky, it's much harder for the novices.