6) Engage the community and peers. You need to see how professionals do it, because otherwise you run the risk of develop in a vacuum and taking up weird habits and theories - becoming unorthodox.
I don't know how much my following analogy extends to the programming world, but I would like to point out that being an unorthodox programmer hurts you in team software environments, where there are norms that are assumed and implicit common ground that is assumed, which can be easily broken when one learns programming on their own (such as variable naming conventions, law of demeter, each method only doing one thing, etc. etc. best practices) and becomes confusing and ultimately harming productivity when working with other developers.
As an analogy this happens a lot with sports (golf, tennis, and boxing come to mind), where some people spend many hours and hours as a lone ranger on their own, driven by massive passion and inner fire to learn the sport in a vacuum, instead of seeking out a coach or professional guidance.
The result is they come out with skilled but unorthodox, and effective but arguably ultimately flawed methodology. You will get an occasional diamond in the rough for unorthodox boxing, golf, tennis who can compete at the world class, but for the most part they falter at the more... professional levels of competition.