Am I doing it right? Is my project structure correct? Am I getting too biased over a library? Is the naming convention I follow accepted universally? Importantly — Am I doing it right?
So I tried a bunch of options — Talking to friends working in other companies, attending conferences, attending workshops & following the ‘influencers’ twitter trail. Yes, it does add some value to your general exposure but I still felt something was missing. All these insights were outward, but I was looking out for more authentic insights inward driven. That's where I hopped on to open source projects.
Open source projects are great, the bravest thing you can do as a developer is to open source your code. It's letting all guards down thus bringing in a lot of feedback from diverse schools of thought. Not all open-source projects might have the best quality. Curating good ones itself could be a challenge.
So before you think- “Ah, I don't’ have the time to work on a giant open-source project” Let me clear that out — You don’t need to know everything about a project to contribute. Usually, people suggest to start with documentation it's a great way to start open-source contributions) but there is another way you can really get started to code.
It's an unusual suspect; Test cases. Any good open-source project will have test cases. Maybe picking up a few test cases will really help you to understand the project. Test cases help you to logically explore the code & also understand how to set it up, build the project, unlike the experience you get in adding documentation.
The Final note — To put you to sleep at night, peacefully
Have I cracked the case? No, and I do not think this pursuit ever ends. Problems evolve so will the approach in the way we weigh our options.
Building your rationale over your choices takes time. There is nothing like “the right way” of doing things. Each problem comes with its own demands. It's all about making trade-offs.