<?xml version="1.0" encoding="UTF-8"?><rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
> <channel><title>Comments on: In Defense Of The Software Craftsmanship Concept</title> <atom:link href="http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/feed/" rel="self" type="application/rss+xml" /><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/</link> <description>For the betterment of the software craft...</description> <lastBuildDate>Mon, 21 Nov 2011 13:57:06 +0000</lastBuildDate> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.1.2</generator> <item><title>By: blog links &#124; aLwaysUs</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-7620</link> <dc:creator>blog links &#124; aLwaysUs</dc:creator> <pubDate>Wed, 09 Nov 2011 01:21:18 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-7620</guid> <description>[...] http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/ [...]</description> <content:encoded><![CDATA[<p>[...] <a
href="http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/" rel="nofollow">http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/</a> [...]</p> ]]></content:encoded> </item> <item><title>By: Alan Skorkin</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-7113</link> <dc:creator>Alan Skorkin</dc:creator> <pubDate>Thu, 28 Apr 2011 03:18:16 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-7113</guid> <description>Most skills take a little while to learn but many years to master, there is a great article by Peter Norvig about becoming an expert programmer, here it is:
http://norvig.com/21-days.html
Have a read, I keep meaning to write something along the same lines myself.</description> <content:encoded><![CDATA[<p>Most skills take a little while to learn but many years to master, there is a great article by Peter Norvig about becoming an expert programmer, here it is:</p><p><a
href="http://norvig.com/21-days.html" rel="nofollow">http://norvig.com/21-days.html</a></p><p>Have a read, I keep meaning to write something along the same lines myself.</p> ]]></content:encoded> </item> <item><title>By: Justine</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-7095</link> <dc:creator>Justine</dc:creator> <pubDate>Mon, 18 Apr 2011 20:15:14 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-7095</guid> <description>Sir Alan is that true that to develop your skill in software like VB will it take year to master  or it depend? I&#039;m a beginner but eager to learn..</description> <content:encoded><![CDATA[<p>Sir Alan is that true that to develop your skill in software like VB will it take year to master  or it depend? I&#8217;m a beginner but eager to learn..</p> ]]></content:encoded> </item> <item><title>By: 乱象，印迹 &#187; 【翻译】我为何爱读代码？你为何也应当爱？</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-6836</link> <dc:creator>乱象，印迹 &#187; 【翻译】我为何爱读代码？你为何也应当爱？</dc:creator> <pubDate>Fri, 28 Jan 2011 06:58:57 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-6836</guid> <description>[...] 我发现，许多程序员都讨厌读代码——拜托别掩饰了，承认吧。差不多每个人都喜欢写代码——写代码乐在其中。可是，读代码真是不容易，而且还很烦人，又无可逃避，其他人写的代码总是很垃圾（即便不说，我们心里也这么想的）。即使自己写的代码，过几个小时再看也有点垃圾，过的时间再久点，就更垃圾了。那么，还有什么理由去看别人的蹩脚代码，而是不自己写几手漂亮的？能不能暂且忽略这个问题，花上几个小时看别人的代码，再回头来看自己的是不是还那么漂亮？即便有位大师坐在你面前，如果你不能从他身上学习，你永远也成不了大师。办法之一就是找到这么一位大师，让他手把手地教会你全部知识。有这可能吗？——当然有，只是很难遇到这顶好的运气。不过你也不必奢求那么幸运，做程序员这行就很幸运，因为大师们的所有思想和技艺都凝铸在他们的代码里，供我们学习。你要做的只是阅读代码——当然，如果有人给你一点点地讲肯定更节省时间，但这基本属于痴人说梦。换句话说，要相当个好木匠，得仔细研究大量的精美家具。 [...]</description> <content:encoded><![CDATA[<p>[...] 我发现，许多程序员都讨厌读代码——拜托别掩饰了，承认吧。差不多每个人都喜欢写代码——写代码乐在其中。可是，读代码真是不容易，而且还很烦人，又无可逃避，其他人写的代码总是很垃圾（即便不说，我们心里也这么想的）。即使自己写的代码，过几个小时再看也有点垃圾，过的时间再久点，就更垃圾了。那么，还有什么理由去看别人的蹩脚代码，而是不自己写几手漂亮的？能不能暂且忽略这个问题，花上几个小时看别人的代码，再回头来看自己的是不是还那么漂亮？即便有位大师坐在你面前，如果你不能从他身上学习，你永远也成不了大师。办法之一就是找到这么一位大师，让他手把手地教会你全部知识。有这可能吗？——当然有，只是很难遇到这顶好的运气。不过你也不必奢求那么幸运，做程序员这行就很幸运，因为大师们的所有思想和技艺都凝铸在他们的代码里，供我们学习。你要做的只是阅读代码——当然，如果有人给你一点点地讲肯定更节省时间，但这基本属于痴人说梦。换句话说，要相当个好木匠，得仔细研究大量的精美家具。 [...]</p> ]]></content:encoded> </item> <item><title>By: ronald</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-1796</link> <dc:creator>ronald</dc:creator> <pubDate>Wed, 29 Jul 2009 06:39:03 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-1796</guid> <description>&quot;You don’t differentiate yourself based on years in the industry, you differentiate yourself on your attitude, your passion, your knowledge, your insight and your expertise – experience just tempers all these and makes them more potent&quot; - I will definitely use this quote , good article.....</description> <content:encoded><![CDATA[<p>&#8220;You don’t differentiate yourself based on years in the industry, you differentiate yourself on your attitude, your passion, your knowledge, your insight and your expertise – experience just tempers all these and makes them more potent&#8221; &#8211; I will definitely use this quote , good article&#8230;..</p> ]]></content:encoded> </item> <item><title>By: Alan Skorkin</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-1790</link> <dc:creator>Alan Skorkin</dc:creator> <pubDate>Tue, 28 Jul 2009 08:58:37 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-1790</guid> <description>Naresh, thanks for your comment, I appreciate it. It was not my intention to imply that younger developers will write spaghetti code due to their inexperience. What I was trying to say is that the capacity to write crappy code is there in all of us, young or old, experienced or not. It is the aspiration to craftsmanship that will hopefully prevent us from doing so.
You&#039;re of course correct there are plenty of people with years of experience who have the same experience many times over. I completely agree with everything you say about experimentation and pushing boundaries. Trying out different things is the best way to find out what works and what doesn&#039;t.
I also agree with both the points you make in the end. It can be invaluable to draw on the experience of multiple people (teachers). And noone has ever become a master by mimicking an existing one, at some point you have to develop a style of your own.</description> <content:encoded><![CDATA[<p>Naresh, thanks for your comment, I appreciate it. It was not my intention to imply that younger developers will write spaghetti code due to their inexperience. What I was trying to say is that the capacity to write crappy code is there in all of us, young or old, experienced or not. It is the aspiration to craftsmanship that will hopefully prevent us from doing so.</p><p>You&#8217;re of course correct there are plenty of people with years of experience who have the same experience many times over. I completely agree with everything you say about experimentation and pushing boundaries. Trying out different things is the best way to find out what works and what doesn&#8217;t.</p><p>I also agree with both the points you make in the end. It can be invaluable to draw on the experience of multiple people (teachers). And noone has ever become a master by mimicking an existing one, at some point you have to develop a style of your own.</p> ]]></content:encoded> </item> <item><title>By: Naresh Jain</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-1788</link> <dc:creator>Naresh Jain</dc:creator> <pubDate>Tue, 28 Jul 2009 04:46:31 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-1788</guid> <description>Thanks Alan for the insightful post. You have articulated your thoughts really well.
While reading your post, I get a feeling at places that you are implying, &quot;Younger developers are less experienced and will probably write spaghetti code&quot;.  In your post itself, you&#039;ve rightly highlighted that: &quot;You don’t differentiate yourself based on years in the industry, you differentiate yourself on your attitude, your passion, your knowledge, your insight and your expertise&quot;.
One had to be careful with 10 year experienced people coz they might have 1 year of experience repeated 10 times. Its the quality of experience over the quantity of experience. Quality of experience comes from practice, a lot of intense practice (not just talent). Practice on real world projects, practice on pet projects, practice doing wild things and breaking all rules, pushing the boundaries and so on. (For Ex. if you look at Ward&#039;s FIT code, he has broken most of the OO rules. Good, bad or ugly, I&#039;m sure he learnt a lot of lessons.)
I see 2 main problems with the way people define/explain the whole craftsmanship model:
1). You need more than one master to really become a master craftsman. (Some people have the impression that you can be a journeyman under one master and you&#039;ll become a master craftsman. IMHO you can&#039;t.)
2). Don&#039;t be blinded by your master, look beyond and try things on your own. One has to invest time to break all the rules the master has put forth to truly understand the gravity of the subject.
While I think the craftsmanship models does imply the above points, most people I feel discount this part.</description> <content:encoded><![CDATA[<p>Thanks Alan for the insightful post. You have articulated your thoughts really well.</p><p>While reading your post, I get a feeling at places that you are implying, &#8220;Younger developers are less experienced and will probably write spaghetti code&#8221;.  In your post itself, you&#8217;ve rightly highlighted that: &#8220;You don’t differentiate yourself based on years in the industry, you differentiate yourself on your attitude, your passion, your knowledge, your insight and your expertise&#8221;.</p><p>One had to be careful with 10 year experienced people coz they might have 1 year of experience repeated 10 times. Its the quality of experience over the quantity of experience. Quality of experience comes from practice, a lot of intense practice (not just talent). Practice on real world projects, practice on pet projects, practice doing wild things and breaking all rules, pushing the boundaries and so on. (For Ex. if you look at Ward&#8217;s FIT code, he has broken most of the OO rules. Good, bad or ugly, I&#8217;m sure he learnt a lot of lessons.)</p><p>I see 2 main problems with the way people define/explain the whole craftsmanship model:</p><p>1). You need more than one master to really become a master craftsman. (Some people have the impression that you can be a journeyman under one master and you&#8217;ll become a master craftsman. IMHO you can&#8217;t.)</p><p>2). Don&#8217;t be blinded by your master, look beyond and try things on your own. One has to invest time to break all the rules the master has put forth to truly understand the gravity of the subject.</p><p>While I think the craftsmanship models does imply the above points, most people I feel discount this part.</p> ]]></content:encoded> </item> <item><title>By: Alan Skorkin</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-1780</link> <dc:creator>Alan Skorkin</dc:creator> <pubDate>Mon, 27 Jul 2009 04:40:55 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-1780</guid> <description>A code of ethics is certainly part of it, but it is just a part of a bigger whole. Being licensed or unlicensed takes nothing away from what I said about craftsmanship.
Craftsmanship goes beyond some legal responsibility to do a decent job. It is about having some professional pride in what you do, it is about trying to be the best that you can be in your profession (forgive the sappiness). It is about holding yourself to your own internal set of standards.
You can be a certified java programmer, but that doesn&#039;t make you a good java programmer, or knowledgeable about the language, or give you the ability to write good clean code, or give you any knowledge about other tools/frameworks you might need to use in your job. All it says is that you passed a test of some sort, but it does not make you a decent software developer. It is the same with being  licensed software engineer.
Of course being licensed or certified certainly does not preclude you from being excellent at what you do either (i.e. a great craftsman of your profession).</description> <content:encoded><![CDATA[<p>A code of ethics is certainly part of it, but it is just a part of a bigger whole. Being licensed or unlicensed takes nothing away from what I said about craftsmanship.</p><p>Craftsmanship goes beyond some legal responsibility to do a decent job. It is about having some professional pride in what you do, it is about trying to be the best that you can be in your profession (forgive the sappiness). It is about holding yourself to your own internal set of standards.</p><p>You can be a certified java programmer, but that doesn&#8217;t make you a good java programmer, or knowledgeable about the language, or give you the ability to write good clean code, or give you any knowledge about other tools/frameworks you might need to use in your job. All it says is that you passed a test of some sort, but it does not make you a decent software developer. It is the same with being  licensed software engineer.</p><p>Of course being licensed or certified certainly does not preclude you from being excellent at what you do either (i.e. a great craftsman of your profession).</p> ]]></content:encoded> </item> <item><title>By: Mitch</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-1779</link> <dc:creator>Mitch</dc:creator> <pubDate>Mon, 27 Jul 2009 04:09:47 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-1779</guid> <description>What you might be describing is a code of ethics.  Professional Engineers, including licensed Professional Software Engineers, at least here in British Columbia, Canada, require that you pass a Professional Practice Exam and take courses on law and ethics.  http://www.apeg.bc.ca/resource/publications/actbylawscode.html
You can also get a degree in Software Engineering in BC: http://www.bseng.uvic.ca/  I know is becoming more prevalent in the United States as well.  e.g. http://www.se.rit.edu/
When you become a licensed Professional Software Engineer, you join the ranks of other professionals where you are liable, at least here in Canada for the software designs you seal and can even have your license revoked.  Personally, my belief is that software engineering is professional practice.</description> <content:encoded><![CDATA[<p>What you might be describing is a code of ethics.  Professional Engineers, including licensed Professional Software Engineers, at least here in British Columbia, Canada, require that you pass a Professional Practice Exam and take courses on law and ethics. <a
href="http://www.apeg.bc.ca/resource/publications/actbylawscode.html" rel="nofollow">http://www.apeg.bc.ca/resource/publications/actbylawscode.html</a></p><p>You can also get a degree in Software Engineering in BC: <a
href="http://www.bseng.uvic.ca/" rel="nofollow">http://www.bseng.uvic.ca/</a> I know is becoming more prevalent in the United States as well.  e.g. <a
href="http://www.se.rit.edu/" rel="nofollow">http://www.se.rit.edu/</a></p><p>When you become a licensed Professional Software Engineer, you join the ranks of other professionals where you are liable, at least here in Canada for the software designs you seal and can even have your license revoked.  Personally, my belief is that software engineering is professional practice.</p> ]]></content:encoded> </item> <item><title>By: Alan Skorkin</title><link>http://www.skorks.com/2009/07/in-defense-of-the-software-craftsmanship-concept/comment-page-1/#comment-1778</link> <dc:creator>Alan Skorkin</dc:creator> <pubDate>Mon, 27 Jul 2009 03:03:38 +0000</pubDate> <guid
isPermaLink="false">http://www.skorks.com/?p=886#comment-1778</guid> <description>Thanks for reading and I am glad you liked it.
To be honest I was pretty happy with it myself after I wrote it :)</description> <content:encoded><![CDATA[<p>Thanks for reading and I am glad you liked it.</p><p>To be honest I was pretty happy with it myself after I wrote it :)</p> ]]></content:encoded> </item> </channel> </rss>
