Own projects first, then contribute if you want to...?
Realistically: depends on the person. Everyone learns a little differently.
I selected “contribute”, but it actually depends. However, you should really start with contributing, even if on the long run it's not your game.
Consider you have created something awesome, like a one of a kind library. Consumers start to come to your project, they report issues or request features. They start to send you pull request. All of a sudden, you are not a developer anymore, but the leader of a community.
If you have contributed to other projects before, you will have the experience, as you have seen how others do it; even if you end up not using those projects anymore, you will leave with this knowledge. Also, maybe you have found some friends there who may be willing to help you manage the mess you just attracted.
Yes. Definitely contribute first. You will profit the most from that.
Giving time to both helps you to develop different skill sets
Todd
Software Security TechLead
Both.
If I have an idea for a project I'm first going to search and see if it or something similar is on GitHub. If I find it, I'm gonna look at the code... So this is learning.
If the project is EXACTLY what I want, then I may use it and eventually contribute to it.
If it's not the same thing as what I want and I can't find something exact, then I will create my own project and go through the learning curve, perhaps with some assistance from the open-source code in some modules. You learn both ways.