This consternation is definitely common. It’s hard to apply skills to something with no long term impact of benefit. I’ve improved my skills by finding stuff I can help on in the communities I participate in.
It’s natural to be overwhelmed, so deciding on a project does scope what you can learn, but a hard part is architecting the foundation of that project.
Introducing new features to an existing project is a great way to get your feet wet - it has multiple benefits, for one of you do take a position as a developer in the future, you likely won’t be architecting anything initially, primarily improving on existing projects. So participating in OSS projects is a similar mechanism to that - you have to learn their codebase to a degree, you have to learn their style and requirements, etc.
Even if you don’t ultimately contribute, it’s still a learning experience.
Holy shit, 10,000 commits because each change was individual (I’m assuming automated).
https://github.com/mrdoob/three.js/pull/29798