<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Cargo-cult Engineering</title>
	<atom:link href="http://vanemden.wordpress.com/2008/08/27/cargo-cult-engineering/feed/" rel="self" type="application/rss+xml" />
	<link>http://vanemden.wordpress.com/2008/08/27/cargo-cult-engineering/</link>
	<description>Observations, Reviews, and Essays</description>
	<lastBuildDate>Thu, 27 Aug 2009 21:34:00 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Kevin Hely</title>
		<link>http://vanemden.wordpress.com/2008/08/27/cargo-cult-engineering/#comment-44</link>
		<dc:creator>Kevin Hely</dc:creator>
		<pubDate>Sun, 28 Sep 2008 00:37:52 +0000</pubDate>
		<guid isPermaLink="false">http://vanemden.wordpress.com/?p=24#comment-44</guid>
		<description>I couldn&#039;t agree more. It&#039;s about time someone said this. Thank you.

Parenthetically, I might add that, when I took undergrad courses on compiler design and operating system design, it was quite clear that the main topic of study was &quot;techniques for the systematic design of non-trivial software artefacts&quot;. The specific applications were merely example &quot;carriers&quot; for technique, like études for music students. I find it hard to see how to transmit this ability to students without using detailed specific examples. (However, this was in the mid-eighties... evidently things have changed in CS education since then.)</description>
		<content:encoded><![CDATA[<p>I couldn&#8217;t agree more. It&#8217;s about time someone said this. Thank you.</p>
<p>Parenthetically, I might add that, when I took undergrad courses on compiler design and operating system design, it was quite clear that the main topic of study was &#8220;techniques for the systematic design of non-trivial software artefacts&#8221;. The specific applications were merely example &#8220;carriers&#8221; for technique, like études for music students. I find it hard to see how to transmit this ability to students without using detailed specific examples. (However, this was in the mid-eighties&#8230; evidently things have changed in CS education since then.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://vanemden.wordpress.com/2008/08/27/cargo-cult-engineering/#comment-42</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Sat, 20 Sep 2008 17:15:08 +0000</pubDate>
		<guid isPermaLink="false">http://vanemden.wordpress.com/?p=24#comment-42</guid>
		<description>Now that I have made the apparently succesful transition from &quot;scientist&quot; to &quot;programmer&quot;, I am struck by a number of things about the products we (at Apple) produce. Your interesting article brought some of these to mind.

Most of the software that I have been involved with here works almost all the time, is used (a lot) by many people, and improves the quality of their lives, at least from there own perspective. The characteristic of this software that distinguishes it from Dijkstra&#039;s products is that the software is created, enhanced and maintained by teams of people. Some of them write lines of code, while others maintain wikis, manage bug-tracking databases, run tests, design interfaces and so on. Certainly that subset who actually churn out lines of C needed a lot of training. The courses we taught as part of our undergradaute program were fine for this training. On the other hand, I would say that the grades we gave were a very poor predictor of programmer quality. The only exception is that those few people who consistently attained As in evry course they ever took were likely to be successful programmers.

But there is a lot more to a successful software product than lines of code. And I see little evidence that these factors can be taught at a University or any other institute. Rather, they are a pool of much individual experience and talent.</description>
		<content:encoded><![CDATA[<p>Now that I have made the apparently succesful transition from &#8220;scientist&#8221; to &#8220;programmer&#8221;, I am struck by a number of things about the products we (at Apple) produce. Your interesting article brought some of these to mind.</p>
<p>Most of the software that I have been involved with here works almost all the time, is used (a lot) by many people, and improves the quality of their lives, at least from there own perspective. The characteristic of this software that distinguishes it from Dijkstra&#8217;s products is that the software is created, enhanced and maintained by teams of people. Some of them write lines of code, while others maintain wikis, manage bug-tracking databases, run tests, design interfaces and so on. Certainly that subset who actually churn out lines of C needed a lot of training. The courses we taught as part of our undergradaute program were fine for this training. On the other hand, I would say that the grades we gave were a very poor predictor of programmer quality. The only exception is that those few people who consistently attained As in evry course they ever took were likely to be successful programmers.</p>
<p>But there is a lot more to a successful software product than lines of code. And I see little evidence that these factors can be taught at a University or any other institute. Rather, they are a pool of much individual experience and talent.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
