<story><title>Programming is for Stupid People</title><url>http://www.whattofix.com/blog/archives/2010/10/programming-is.php</url></story><parent_chain></parent_chain><comment><author>keyist</author><text>&quot;Instead we reward people for being smart -- for learning more and more details about trivial libraries that will be deprecated in ten years&apos; time.&quot;&lt;p&gt;I get what the author is trying to convey in this post, but I feel he is unintentionally attacking a strawman.&lt;p&gt;I don&apos;t think many developers set out to memorize small details of libraries -- it&apos;s just something they pick up naturally over time with more usage.&lt;p&gt;My take is: on the surface, knowledge based on experience often &lt;i&gt;seems&lt;/i&gt; like memorization.  That&apos;s because when say Alice brings up a better way/library/tool, she&apos;s acting as a layer of abstraction.&lt;p&gt;You don&apos;t immediately get to see the internal processing Alice is doing to decide which library to use and why it is the best choice for your specific task.  All you see is her output: &quot;here&apos;s what you use in this situation&quot;. This isn&apos;t about knowing trivial details of libraries.  It isn&apos;t about rote learning.  It is the practical application of knowledge borne out of experience.&lt;p&gt;That experience is what is being rewarded, not the memorization.  How to tell the difference? The best developers come with introspection tools: they are able and very willing to explain the reasoning behind their recommendations in detail.</text></comment>
<story><title>Programming is for Stupid People</title><url>http://www.whattofix.com/blog/archives/2010/10/programming-is.php</url></story><parent_chain></parent_chain><comment><author>kls</author><text>I think there are two mind sets when it comes to programming, those that relish in learning every detail in a particular technology and those that find beauty in simplicity. 
(technically there is probably a third which is just a hack).&lt;p&gt;I don&apos;t think that these two programmer see eye to eye. One looks to apply the chains of functions to a problem to simplify the task at hand. While the other looks to creatively attack the problem with a minimalistic approach to writing code. They find beauty in recursion and abstraction, through interfacing things so that common logic can provide different results based on plug-able interfaces.&lt;p&gt;They are different mind sets entirely, where one looks to reuse existing library code the other looks to not write as little code as possible through creativity.  Both are very valid programmer types and both can achieve mastery, it is more just a matter of how ones mind works. I myself am the latter, I love abstracting problems away till they just seem to disappear. I love closures and delegates, interfaces and anonymous functions. These are my utensils of mastery.&lt;p&gt;One thing I have noticed though is that programmers tend to work better with other programmer of the same type. For most of my career I have worked with the same development team. Many of the guys I trained and then they trained others. We are like a caravan of programming gypsies one of us would find a position at a start-up or find backing and the rest would follow in time.&lt;p&gt;Anyway, after the sale of the last company we where at I had to go out and find a real job. I did, and the entire team was of the other type it seems that they had amassed in a similar fashion as my group of developers and ended up there. Anyways, I have to say, for the first time in my life I was a drag on the team it just seemed that my code and their code just never jived, i mean it all worked properly but when I would have to work on one of their code or they would have to work on my code it was just hours of lost productivity. I eventually resigned because it was clear that for the first time in my life I was not working out as a developer. I was just mediocre at doing it there way.&lt;p&gt;Anyway, just food for thought, maybe you are like me Daniel and see the elegance of code. While the other guy sees the robustness.</text></comment>