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.
Are you posting in the right place? Check out Where do I post X? to know for sure.
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
Want more info? How to link or
or How to display code and escape characters
are good places to start.