From Peter Norvig's Teach Yourself Programming in Ten Years:
Researchers (Bloom (1985), Bryan & Harter (1899), Hayes (1989), Simmon & Chase (1973)) have
shown it takes about ten years to develop expertise in any of a wide variety of areas,
including chess playing, music composition, telegraph operation, painting, piano playing,
swimming, tennis, and research in neuropsychology and topology. The key is deliberative
practice: not just doing it again and again, but challenging yourself with a task that
is just beyond your current ability, trying it, analyzing your performance while and
after doing it, and correcting any mistakes. Then repeat. And repeat again.
There appear to be no real shortcuts: even Mozart, who was a musical prodigy at age 4,
took 13 more years before he began to produce world-class music.
In another genre, the Beatles seemed to burst onto the scene with a string of #1 hits
and an appearance on the Ed Sullivan show in 1964.
But they had been playing small clubs in Liverpool and Hamburg since 1957, and while
they had mass appeal early on, their first great critical success,
Sgt. Peppers, was released in 1967.
There are many other useful tips in Peter Norvig's essay, such as:
make it fun; learn by doing; talk to other programmers, read other programs;
work on projects with other programmers; be involved in understanding a program
written by someone else; learn at least half a dozen programming languages;
and many more.
If you have the passion and the ability, the results will come. Be patient. And good luck in your journey.