<?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: The Reality of Bad Programmers</title>
	<atom:link href="http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/</link>
	<description>...it takes a computer to really mess things up.</description>
	<lastBuildDate>Mon, 30 Jan 2012 16:21:09 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Collin Cusce</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-42</link>
		<dc:creator>Collin Cusce</dc:creator>
		<pubDate>Thu, 28 Aug 2008 15:35:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-42</guid>
		<description>I do not agree with most all of your responses, but there is something I would like to make clear about the &quot;chip&quot; on my shoulder that you seem to think I have. I came into code I considered bad from a previous developer. I thereby called him a bad programmer. What I&#039;m talking about is more of a self-analysis than a &quot;chip on my shoulder&quot;.</description>
		<content:encoded><![CDATA[<p>I do not agree with most all of your responses, but there is something I would like to make clear about the &#8220;chip&#8221; on my shoulder that you seem to think I have. I came into code I considered bad from a previous developer. I thereby called him a bad programmer. What I&#8217;m talking about is more of a self-analysis than a &#8220;chip on my shoulder&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: A Competent Programmer</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-16</link>
		<dc:creator>A Competent Programmer</dc:creator>
		<pubDate>Fri, 11 Jul 2008 08:03:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-16</guid>
		<description>What&#039;s your thesis here?  That labeling someone a &quot;bad programmer&quot; is most likely unfair?  That&#039;s something I can agree with, but you&#039;re not supporting that point very well.  

You&#039;re listing out a series of statements in stream of consciousness style without actually building an argument.  You&#039;ve got to start with some premises that people can get behind.  Some of your statements seem reasonable, some seem flat out wrong, but in any case they&#039;re not cohesive.

Take this paragraph:

&quot;As programmers, we expect our code to do two things: Work or Not Work. And when it doesn’t work, we expect to be able to fix it after testing. Black and white thinking.&quot;

This is a strange statement.  Are you trying to show that programmers think in black &amp; white?  Of course the question &quot;does it work or not?&quot; is (usually) a binary proposition, but you say it as if this question is somehow indicative of a more general mental process of programmers.

&quot;The concept of good and bad aren’t just subjective and intangible, they’re completely non-existent in the realm of programming quality. Unless such metrics are created, and they themselves are immutable and empirically verifiable, then the best we can do is judge a program based off whether it actually does the tasks it was intended to do.&quot;

This is nonsense. There are many empirical qualities of software such as development time, maintenance time, number of bugs, nature of bugs, features present, real-world problems solved, etc.  The problem is that scientific comparison is impossible since software projects are very rarely replicated.  Don&#039;t let the small subjective issues over style or incomplete information cloud your judgement.  Programming is an extraordinarily creative activity where different approaches can have vastly different tradeoffs, and sometimes certain solutions are just plain bad.

&quot;However, every single time I choose an interface revision that works to publish, there’s someone, bless their soul, who cannot deal with concepts such as, say, “drag and drop”. These people are a strong minority, but to them, I’m a terrible interface designer because it doesn’t work for them as they cannot understand it.&quot;

This is a red herring.  A huge part of design is understanding your audience.  No interface can be all things to all people.  If you are designing an interface for professionals and drag and drop is the most efficient way of accomplishing something then it can be widely accepted as a good interface.  You can&#039;t dumb it down to the lowest common denominator and frustrate everyone else.  On the other hand, if the majority of your audience has some sort of cognitive (or physical) problem with drag and drop then you would be a bad designer not to accommodate them.  It doesn&#039;t matter what one person thinks of your skills as a UI designer.  What matters is how efficient your users are with what you&#039;ve designed compared to other potential solutions.

&quot;What’s bothering me is that all these articles speaking of “bad programmers” are being extremely unfair and hypocritical. Much of the code they write, I can guarantee there would be someone out there who looks at it and says, “I would have done this better.” And that is exactly the problem; black and white thinking applied to a gray area.&quot;

Just because someone thinks they could have written something better doesn&#039;t mean they actually could have.  Maybe they are missing crucial information, maybe they aren&#039;t as good as they reckon, maybe their beef is more style than substance.  For any of those reasons, it may be an unfair judgement against the code.  But again, just because a lot of judgements are unfair doesn&#039;t mean they all are.  

Also, just because the terminology is black and white doesn&#039;t mean the thinking is.  I don&#039;t put code into two boxes like that, and I suspect very few others do.

&quot;We want programmers to write nice code. We want modularity. We want good organization. We want the code to be decoupled. We want to avoid copy and paste. We want everything. What project has time for that?&quot;

Code doesn&#039;t start out bad and then get better by people putting more time into.  Sure we cut corners all the time, but that doesn&#039;t mean we have to settle for bad code.  The smart thing to do is cut features and keep development under control.  If you resign yourself to bad code in order to get something done, you may find yourself spending more time debugging than it would have to do things properly in the beginning.  Even worse, the project may fail altogether.

&quot;What we’re talking about are real programmers: people employed at companies, people gaining contracts, people who contribute to open source projects. That’s might haughty of these authors of these articles to tell such people that they’re bad programmers because they do not know certain things that they probably do not even specialize in or use. In summary: does the code work? If so, it’s good as is whoever wrote it. If you need more requirements later and the program needs to be extended to make it work, consider that a separate program then apply the same metric… does it work? Talk of anything else immaterial as it’s a subjective qualitative assessment.&quot;

It seems like you really have a chip on your shoulder about the fairness issue.  But look, just because people make unfair judgements doesn&#039;t mean that everything is magically equal.  Certainly good programmers can produce bad code because of practical concerns.  Good code can become bad over time because there are no resources to refactor.  Both good and bad programmers can misjudge code based on poor understanding, pet peeves, or superficial considerations.  None of that changes the fact that there are huge qualitative differences in code.  These are the differences that make or break projects and companies every day.  We can&#039;t gloss over it to prevent people from making unfair judgements or to protect our feelings.  We are human, we are fallible, let&#039;s not stick our head in the sand.</description>
		<content:encoded><![CDATA[<p>What&#8217;s your thesis here?  That labeling someone a &#8220;bad programmer&#8221; is most likely unfair?  That&#8217;s something I can agree with, but you&#8217;re not supporting that point very well.  </p>
<p>You&#8217;re listing out a series of statements in stream of consciousness style without actually building an argument.  You&#8217;ve got to start with some premises that people can get behind.  Some of your statements seem reasonable, some seem flat out wrong, but in any case they&#8217;re not cohesive.</p>
<p>Take this paragraph:</p>
<p>&#8220;As programmers, we expect our code to do two things: Work or Not Work. And when it doesn’t work, we expect to be able to fix it after testing. Black and white thinking.&#8221;</p>
<p>This is a strange statement.  Are you trying to show that programmers think in black &amp; white?  Of course the question &#8220;does it work or not?&#8221; is (usually) a binary proposition, but you say it as if this question is somehow indicative of a more general mental process of programmers.</p>
<p>&#8220;The concept of good and bad aren’t just subjective and intangible, they’re completely non-existent in the realm of programming quality. Unless such metrics are created, and they themselves are immutable and empirically verifiable, then the best we can do is judge a program based off whether it actually does the tasks it was intended to do.&#8221;</p>
<p>This is nonsense. There are many empirical qualities of software such as development time, maintenance time, number of bugs, nature of bugs, features present, real-world problems solved, etc.  The problem is that scientific comparison is impossible since software projects are very rarely replicated.  Don&#8217;t let the small subjective issues over style or incomplete information cloud your judgement.  Programming is an extraordinarily creative activity where different approaches can have vastly different tradeoffs, and sometimes certain solutions are just plain bad.</p>
<p>&#8220;However, every single time I choose an interface revision that works to publish, there’s someone, bless their soul, who cannot deal with concepts such as, say, “drag and drop”. These people are a strong minority, but to them, I’m a terrible interface designer because it doesn’t work for them as they cannot understand it.&#8221;</p>
<p>This is a red herring.  A huge part of design is understanding your audience.  No interface can be all things to all people.  If you are designing an interface for professionals and drag and drop is the most efficient way of accomplishing something then it can be widely accepted as a good interface.  You can&#8217;t dumb it down to the lowest common denominator and frustrate everyone else.  On the other hand, if the majority of your audience has some sort of cognitive (or physical) problem with drag and drop then you would be a bad designer not to accommodate them.  It doesn&#8217;t matter what one person thinks of your skills as a UI designer.  What matters is how efficient your users are with what you&#8217;ve designed compared to other potential solutions.</p>
<p>&#8220;What’s bothering me is that all these articles speaking of “bad programmers” are being extremely unfair and hypocritical. Much of the code they write, I can guarantee there would be someone out there who looks at it and says, “I would have done this better.” And that is exactly the problem; black and white thinking applied to a gray area.&#8221;</p>
<p>Just because someone thinks they could have written something better doesn&#8217;t mean they actually could have.  Maybe they are missing crucial information, maybe they aren&#8217;t as good as they reckon, maybe their beef is more style than substance.  For any of those reasons, it may be an unfair judgement against the code.  But again, just because a lot of judgements are unfair doesn&#8217;t mean they all are.  </p>
<p>Also, just because the terminology is black and white doesn&#8217;t mean the thinking is.  I don&#8217;t put code into two boxes like that, and I suspect very few others do.</p>
<p>&#8220;We want programmers to write nice code. We want modularity. We want good organization. We want the code to be decoupled. We want to avoid copy and paste. We want everything. What project has time for that?&#8221;</p>
<p>Code doesn&#8217;t start out bad and then get better by people putting more time into.  Sure we cut corners all the time, but that doesn&#8217;t mean we have to settle for bad code.  The smart thing to do is cut features and keep development under control.  If you resign yourself to bad code in order to get something done, you may find yourself spending more time debugging than it would have to do things properly in the beginning.  Even worse, the project may fail altogether.</p>
<p>&#8220;What we’re talking about are real programmers: people employed at companies, people gaining contracts, people who contribute to open source projects. That’s might haughty of these authors of these articles to tell such people that they’re bad programmers because they do not know certain things that they probably do not even specialize in or use. In summary: does the code work? If so, it’s good as is whoever wrote it. If you need more requirements later and the program needs to be extended to make it work, consider that a separate program then apply the same metric… does it work? Talk of anything else immaterial as it’s a subjective qualitative assessment.&#8221;</p>
<p>It seems like you really have a chip on your shoulder about the fairness issue.  But look, just because people make unfair judgements doesn&#8217;t mean that everything is magically equal.  Certainly good programmers can produce bad code because of practical concerns.  Good code can become bad over time because there are no resources to refactor.  Both good and bad programmers can misjudge code based on poor understanding, pet peeves, or superficial considerations.  None of that changes the fact that there are huge qualitative differences in code.  These are the differences that make or break projects and companies every day.  We can&#8217;t gloss over it to prevent people from making unfair judgements or to protect our feelings.  We are human, we are fallible, let&#8217;s not stick our head in the sand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: To Err is Human&#8230; &#187; Be a Better Programmer Series #1: Be a Writer.</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-15</link>
		<dc:creator>To Err is Human&#8230; &#187; Be a Better Programmer Series #1: Be a Writer.</dc:creator>
		<pubDate>Wed, 09 Jul 2008 14:11:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-15</guid>
		<description>[...] recently wrote a post called The Reality of Bad Programmers, I made an assessment that so long as a program is to specification and someone is buying it, [...]</description>
		<content:encoded><![CDATA[<p>[...] recently wrote a post called The Reality of Bad Programmers, I made an assessment that so long as a program is to specification and someone is buying it, [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Greg M</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-14</link>
		<dc:creator>Greg M</dc:creator>
		<pubDate>Wed, 09 Jul 2008 09:15:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-14</guid>
		<description>First of all, even if it works now it will need maintenance. It _will_ have bugs. If you think it won&#039;t then sorry, you&#039;re a Bad Programmer. So being able to maintain the code is part of the definition of &quot;it works&quot;. And in fact, if it stays in a maintainable state _during_ development, you&#039;ll be able to develop it quicker and with less bugs - getting to the &quot;it works&quot; stage quicker.

Even if you&#039;re working on the 1% of projects that is written with the intention that it will never be maintained, it probably will. This is an _implicit_ requirement of every project. So &quot;it works&quot; is nothing without considering how well it can be maintained. Then if you actually _are_ expecting to add features...

In short: code is for human beings to read, not computers. If you don&#039;t realize that, you _are_ a Bad Programmer. Hopefully next time York Co will hire the better programmer charges $600, but they probably don&#039;t know the difference. If you do, then maybe you should inform them.</description>
		<content:encoded><![CDATA[<p>First of all, even if it works now it will need maintenance. It _will_ have bugs. If you think it won&#8217;t then sorry, you&#8217;re a Bad Programmer. So being able to maintain the code is part of the definition of &#8220;it works&#8221;. And in fact, if it stays in a maintainable state _during_ development, you&#8217;ll be able to develop it quicker and with less bugs &#8211; getting to the &#8220;it works&#8221; stage quicker.</p>
<p>Even if you&#8217;re working on the 1% of projects that is written with the intention that it will never be maintained, it probably will. This is an _implicit_ requirement of every project. So &#8220;it works&#8221; is nothing without considering how well it can be maintained. Then if you actually _are_ expecting to add features&#8230;</p>
<p>In short: code is for human beings to read, not computers. If you don&#8217;t realize that, you _are_ a Bad Programmer. Hopefully next time York Co will hire the better programmer charges $600, but they probably don&#8217;t know the difference. If you do, then maybe you should inform them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jose Noheda</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-13</link>
		<dc:creator>Jose Noheda</dc:creator>
		<pubDate>Wed, 09 Jul 2008 08:02:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-13</guid>
		<description>Correct then beatifull then fast, wasn&#039;t it? That good make a good program. That said there are bad programmers even if they make (seamlessly) working programs once you add other variables</description>
		<content:encoded><![CDATA[<p>Correct then beatifull then fast, wasn&#8217;t it? That good make a good program. That said there are bad programmers even if they make (seamlessly) working programs once you add other variables</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andrew</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-12</link>
		<dc:creator>Andrew</dc:creator>
		<pubDate>Mon, 07 Jul 2008 05:14:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-12</guid>
		<description>Perhaps a more important metric is &quot;are customers paying for it?&quot;

This is the end result of &quot;does it work?&quot;</description>
		<content:encoded><![CDATA[<p>Perhaps a more important metric is &#8220;are customers paying for it?&#8221;</p>
<p>This is the end result of &#8220;does it work?&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Collin Cusce</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-11</link>
		<dc:creator>Collin Cusce</dc:creator>
		<pubDate>Mon, 07 Jul 2008 04:18:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-11</guid>
		<description>@Daniel

Thanks again for visiting my little site here :-)

Yes, I see what you&#039;re saying. But ... isn&#039;t the ability to design and finish programs the definition of a programmer? Are those other people really programmers? I don&#039;t think so, but that&#039;s become a linguistics issue.</description>
		<content:encoded><![CDATA[<p>@Daniel</p>
<p>Thanks again for visiting my little site here :-)</p>
<p>Yes, I see what you&#8217;re saying. But &#8230; isn&#8217;t the ability to design and finish programs the definition of a programmer? Are those other people really programmers? I don&#8217;t think so, but that&#8217;s become a linguistics issue.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-10</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Mon, 07 Jul 2008 03:25:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-10</guid>
		<description>Hi Collin :)

I see your point in that situation. On the other hand you have to admit there is a full range of programmers out there. You cannot say every programmer in the world is as good as Linus Torvalds :) just because their code kind of works. Some programmer can start and end a given task alone, others can only start. In big enterprise projects the good programmers most of the time compensate for the the lack of skill of less good programmers. This is done by mentoring and by allocating to them really well defined tasks already designed.</description>
		<content:encoded><![CDATA[<p>Hi Collin :)</p>
<p>I see your point in that situation. On the other hand you have to admit there is a full range of programmers out there. You cannot say every programmer in the world is as good as Linus Torvalds :) just because their code kind of works. Some programmer can start and end a given task alone, others can only start. In big enterprise projects the good programmers most of the time compensate for the the lack of skill of less good programmers. This is done by mentoring and by allocating to them really well defined tasks already designed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Collin Cusce</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-9</link>
		<dc:creator>Collin Cusce</dc:creator>
		<pubDate>Sun, 06 Jul 2008 19:06:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-9</guid>
		<description>I think you both raise some very good points.

@leed25d:
I do not think I actually ignored that point all together. In my defense, I did state that not matter what someone does, there&#039;s always going to be someone complaining. That does not mean that the code or the coder is bad. It just means that it either bothers a small minority or it needs to be changed to accommodate the greater good. As far as that goes, there is a consistent answer: Does it work? That question is answered by the requirements of the project.

@Daniel:
Like I stated above, these questions you ask have answers... the question is whether those answers are important. I say they only are if that is what the project requires. For instance, &quot;is it easy to extend?&quot; As far as I&#039;m concerned, that question is ridiculously laden with qualitative assumptions which can never be measured. Then you have the satisfaction problem which I addressed above with leed25d.

However, this does raise a good point... what does it mean to &quot;work&quot;? Well as far as I&#039;m concerned, if it comes down to time and money, it means it meets exactly what the specifications say it does, and not a letter more. This burden of second guessing specifications often leads programmers to causing more problems for themselves. 

Here&#039;s a real world example: York Co., Va requested a simple search engine be built for their services which would poll someone of what their situation is and give a weighted  list of solutions to departments which solve that situation. They paid a developer $500 to build this simple application. What they did not tell him is there A) needs to be a particular weight order and that has to be able to change as departments shift responsibility and B) they need to add departments at will. Now when I first found this out, I cursed his name and called him a terrible programmer for not offering those services... then I started to realize... he&#039;s being paid $500. Would I go the extra mile for a small client like that? Hell no! Does this make him a bad programmer? I don&#039;t think so. His code wasn&#039;t extensible because it wasn&#039;t meant to be. Does he do that consistently... for a $500 client... yes. I know I would for small jobs. Is that ethical? Who knows, I don&#039;t believe ethics is really relevant to the conversation anyway.

The point is, those questions can be answered if you addend the phrase &quot;Does it work&quot; with &quot;Does it work to specification.&quot; That, I thought, was implied, but I guess not.</description>
		<content:encoded><![CDATA[<p>I think you both raise some very good points.</p>
<p>@leed25d:<br />
I do not think I actually ignored that point all together. In my defense, I did state that not matter what someone does, there&#8217;s always going to be someone complaining. That does not mean that the code or the coder is bad. It just means that it either bothers a small minority or it needs to be changed to accommodate the greater good. As far as that goes, there is a consistent answer: Does it work? That question is answered by the requirements of the project.</p>
<p>@Daniel:<br />
Like I stated above, these questions you ask have answers&#8230; the question is whether those answers are important. I say they only are if that is what the project requires. For instance, &#8220;is it easy to extend?&#8221; As far as I&#8217;m concerned, that question is ridiculously laden with qualitative assumptions which can never be measured. Then you have the satisfaction problem which I addressed above with leed25d.</p>
<p>However, this does raise a good point&#8230; what does it mean to &#8220;work&#8221;? Well as far as I&#8217;m concerned, if it comes down to time and money, it means it meets exactly what the specifications say it does, and not a letter more. This burden of second guessing specifications often leads programmers to causing more problems for themselves. </p>
<p>Here&#8217;s a real world example: York Co., Va requested a simple search engine be built for their services which would poll someone of what their situation is and give a weighted  list of solutions to departments which solve that situation. They paid a developer $500 to build this simple application. What they did not tell him is there A) needs to be a particular weight order and that has to be able to change as departments shift responsibility and B) they need to add departments at will. Now when I first found this out, I cursed his name and called him a terrible programmer for not offering those services&#8230; then I started to realize&#8230; he&#8217;s being paid $500. Would I go the extra mile for a small client like that? Hell no! Does this make him a bad programmer? I don&#8217;t think so. His code wasn&#8217;t extensible because it wasn&#8217;t meant to be. Does he do that consistently&#8230; for a $500 client&#8230; yes. I know I would for small jobs. Is that ethical? Who knows, I don&#8217;t believe ethics is really relevant to the conversation anyway.</p>
<p>The point is, those questions can be answered if you addend the phrase &#8220;Does it work&#8221; with &#8220;Does it work to specification.&#8221; That, I thought, was implied, but I guess not.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Daniel</title>
		<link>http://www.humanerr.com/2008/07/04/the-reality-of-bad-programmers/comment-page-1/#comment-8</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Sun, 06 Jul 2008 09:07:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.collincusce.com/?p=3#comment-8</guid>
		<description>Historical evidence shows that in any kind of job there are all kind of people spread across a continuum from really bad to really good. Since this is true for engineers, musicians, cooks and so on, then it must be true for programmers also. And I know many of good programmers, many decent programmers but many more bad. And they are not script kiddies. They work 9-5 and they earn a living by writing software. The fact that we don&#039;t have a reliable way of measuring the quality of the work is not equivalent with having a binary scale with only good and bad values for quality. Your &quot;does it work&quot; metric is not correct because in software the definition of &quot;does it work&quot; is very complicated.
&quot;Does it work&quot; as in functionally does the job?
&quot;Does it work&quot; as in it is easy to use?
&quot;Does it work&quot; as in it is easy extend?
&quot;Does it work&quot; as in it is easy to modify?
...</description>
		<content:encoded><![CDATA[<p>Historical evidence shows that in any kind of job there are all kind of people spread across a continuum from really bad to really good. Since this is true for engineers, musicians, cooks and so on, then it must be true for programmers also. And I know many of good programmers, many decent programmers but many more bad. And they are not script kiddies. They work 9-5 and they earn a living by writing software. The fact that we don&#8217;t have a reliable way of measuring the quality of the work is not equivalent with having a binary scale with only good and bad values for quality. Your &#8220;does it work&#8221; metric is not correct because in software the definition of &#8220;does it work&#8221; is very complicated.<br />
&#8220;Does it work&#8221; as in functionally does the job?<br />
&#8220;Does it work&#8221; as in it is easy to use?<br />
&#8220;Does it work&#8221; as in it is easy extend?<br />
&#8220;Does it work&#8221; as in it is easy to modify?<br />
&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>

