I think software is like other creative arts -- music, architecture, cooking, even design of everyday things like bikes and clothes. It takes a relentless focus on the act of using, and what kind of effect you want to create. Learning from others, and stealing from the best. Only. ;-)