About to start a package
Finally, I would like to give people a way to start on their own packages. How do you start with something like this? I think the main thing you want to figure out is why you are doing this. Are you doing this for the community or just to help yourself out? Are you going to maintain it or not? Do you have the time to spend on supporting the package across the Umbraco versions?
While I am not trying to scare you away from creating packages, it sometimes might be a better choice to not publish it in the wide world. Or to at least let people know that you won't be maintaining it. That way, people will know what to expect.
But you can always give it a try and see how it goes. Maybe you will see that you are able to spend some time on it every week and actually maintain it. Or maybe you do it together with some other members of the community.
Another thing I would like to touch on is experience. While Umbraco experience is nice to have, don't force yourself to create something like Vendr or uSync. Start small, confirm that you are building something that has value for yourself or someone else, and keep on iterating on it. While Vendr and uSync are focused on certain parts of Umbraco, you might have more experience on another part.
So just get started, as I did. And see how far you can get. Use other open-source projects to gain experience on how certain aspects work. Want to know about Razor Class Libraries? See how uSync and SeoToolkit are doing it. Need some information about migrations? I am sure there are packages out there using it. And this way, you'll greatly improve your knowledge of Umbraco too.