<story><title>Teach Yourself Programming in Ten Years (1998)</title><url>https://norvig.com/21-days.html</url></story><parent_chain><item><author>BossingAround</author><text>The title is a bit misleading to me.&lt;p&gt;10 years is not to &amp;quot;teach yourself programming,&amp;quot; it&amp;#x27;s to &amp;quot;become an expert in programming.&amp;quot;&lt;p&gt;Most people do not want to learn programming to become experts, most people want to learn programming to get a job. After getting a job, some will plateau right away, others will plateau after some time, and others still will keep learning even after years and years.&lt;p&gt;The problem is &amp;quot;how long until I become employable,&amp;quot; not &amp;quot;how long until I become an expert&amp;quot;.&lt;p&gt;The answer to the former is months of deliberate practice.
The answer to the latter is [tens of] years of deliberate practice.&lt;p&gt;Books with titles like &amp;quot;learn C++ in 24 hours&amp;quot; target the former. And, I would say that the number of jobs that require the mastery of the craft is not large.</text></item></parent_chain><comment><author>Hendrikto</author><text>&amp;gt; And, I would say that the number of jobs that require the mastery of the craft is not large.&lt;p&gt;This mindset is how we end up with layers upon layers of badly designed and buggy software that underpins almost every aspect of modern life.&lt;p&gt;Just apply the same reasoning to other areas: Would you want to drive in a bus with a bus driver who just barely got his driver&amp;#x27;s license? Would you want to use a bridge designed by an architect who knows just enough to complete the job and does not care a bit for more?&lt;p&gt;It does not take mastery to write one-off scripts that &amp;quot;get the job done&amp;quot;. However, they will probably not be a general purpose solution of the problem at hand, ignore corner cases, contain bugs… and the real test comes when requirements inevitably change.&lt;p&gt;If you want to write dependable, high-quality, maintainable, reusable software you better know more than the bare minimum.</text></comment>
<story><title>Teach Yourself Programming in Ten Years (1998)</title><url>https://norvig.com/21-days.html</url></story><parent_chain><item><author>BossingAround</author><text>The title is a bit misleading to me.&lt;p&gt;10 years is not to &amp;quot;teach yourself programming,&amp;quot; it&amp;#x27;s to &amp;quot;become an expert in programming.&amp;quot;&lt;p&gt;Most people do not want to learn programming to become experts, most people want to learn programming to get a job. After getting a job, some will plateau right away, others will plateau after some time, and others still will keep learning even after years and years.&lt;p&gt;The problem is &amp;quot;how long until I become employable,&amp;quot; not &amp;quot;how long until I become an expert&amp;quot;.&lt;p&gt;The answer to the former is months of deliberate practice.
The answer to the latter is [tens of] years of deliberate practice.&lt;p&gt;Books with titles like &amp;quot;learn C++ in 24 hours&amp;quot; target the former. And, I would say that the number of jobs that require the mastery of the craft is not large.</text></item></parent_chain><comment><author>Aeolun</author><text>&amp;gt; the number of jobs that require the mastery of the craft is not large&lt;p&gt;The number of jobs that &lt;i&gt;benefit&lt;/i&gt; from mastery of the craft is essentially equal to the number of jobs.&lt;p&gt;I do not enjoy finding the work of a bunch of people that studied enough to get hired and no more.</text></comment>