As i entered the open source community many years ago, i talked to so many people and read so many code before i even started to contribute just one line of code on my own. I felt much better to understand the surroundings and know what others are talking about. And who is capable of what.
It was until that day i felt comfortable enough and thought i had something to add to the existing to really start contributing. It took no long and i spawned more than 50 repositories. Mostly with not-so-useful stuff in them, but it felt like a relief to actually share what i did. I was not in stealth-mode any more.
It was a big hurdle, because i knew, all the smart people could criticize me. And even i alone could find lots of things to improve on my code. But it was not about the quality. It was about its existence.
low-quality code is better than no code at all.
It took me three years to do it. Now, i do it all the time. And with every repository it feels better. My threshold to publish something had lowered itself. Because i now receive feedback from others that i have never thought about on my own.
So, sharing it in the first place made me a better developer, regardless of the quality my code had.
Why am i telling you this, you ask? Wait no more, i'll tell you:
Perfection is an enemy. You have to defeat it.
As soon, as i lowered my expectations on something, i got much better on it. As soon as i shared shitty code, i got into discussions about it, making it so much more awesome - i could have never did that on my own.
With lowering my quality expectations, i got even better
Although that may sound counter-intuitive it is exactly, what happened. Because i got so much more on to something, than before.
So, let me finish with a request:
Share with others. Incorporate their feedback. Collaborate. Let them contribute to your work. Stay focused. Keep improving.