I have lots of ideas for products to be built. The problem is that I have less than a year of professional work experience and I am afraid of getting judged negatively in the future based on what I produce now. I have no clue if my code is any good.I am not familiar with any of the coding patterns. All I know is to build products that work. I want to have a public profile in github for my future projects and I will try hard to make sure that it is well commented, is optimized and clean.These are the things that I fear getting exposed publicly:My code may not be highly optimized.Wrong usage of certain libraries or functions which coincidentally get the job done.Not knowing or following any coding pattern.Lots of bugs/ not considering corner, edge casesFundamental lack of understanding and application of certain concepts such as thread safety, concurrency issues in multi-threaded programming, etc.Should I go ahead and get started or continue to stick to building stuff locally and privately till I get more experience. I don't want the mistakes made here to haunt my career prospects in the long run.  
What are the disadvantages of starting an opensource project if one is not an experienced programmer?
open source;personal projects
After 30 years of professional software development, I still create bugs. I still find patterns I don't know. I still learn from my colleagues, and encounter stuff I don't know every day.Most experienced developers will judge you on how you respond to issues and criticism, whether you learn from your mistakes and improve your product to meet the users' or community's needs, whether you admit what you don't know and seek to improve.One of the best skills for a developer is willingness to ask the dumb questions and to look a bit foolish at times in order to find good answers as quickly as possible.Everyone who is experienced and very proficient was once where you are now. You will learn much faster if you put your work out there and work with other people.There is no reason to wait. Make your project open. Better yet, contribute to other open projects and learn from them.