<?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"
	>
<channel>
	<title>Comments on: What Good is a CS Degree II: The Response</title>
	<atom:link href="http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/feed/" rel="self" type="application/rss+xml" />
	<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/</link>
	<description>Robert Fischer and Brian Hurt on Punditry, Programming Languages, and Other Religious Issues</description>
	<pubDate>Sun, 12 Oct 2008 02:14:47 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: Brian Hurt</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-33782</link>
		<dc:creator>Brian Hurt</dc:creator>
		<pubDate>Sat, 11 Oct 2008 17:51:18 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-33782</guid>
		<description>Ah, the wonders of having a comments RSS feed- it's never too late to chime in to a conversation.

Actually, at the end of the day, I feel sorry for the XYZ developers- those who know one thing, and only one, no matter how well.  Because sooner or later, and generally sooner, that one thing becomes irrelevant and obsolete.  Well, at least for the things XYZ developers generally specialize in- being an expert in graph theory or linear algebra isn't going to be obsoleted any time soon.

I knew a guy, once, who was an expert Windows developer- knew damned near everything there was to know about Windows... 3.1.  He'd already had the unpleasant experience of losing jobs to people with 1/5th his experience, simply because they were experienced in Windows 95, and he wasn't.  You see the exact same problem in nature- species that over specialize generally die out, it's the generalists who can adapt to a wide variety of climates and conditions that have the real longevity.  For the exact same reason.  Unlike in nature, where the same conditions can hold for geological amounts of time, in the realm of computers the analogical equivalent of massive climate change happens on about a 10-time frame.

So how do you be an adapter, not an over specializer?  How do you survive when the whatever it is you so carefully learned gets left on the side of the road for something new and completely different?  Well, first, know more than one thing.  And always be learning something new.  And second, concentrate on learning those things that don't change- which effectively means, learn the theory.</description>
		<content:encoded><![CDATA[<p>Ah, the wonders of having a comments RSS feed- it&#8217;s never too late to chime in to a conversation.</p>
<p>Actually, at the end of the day, I feel sorry for the XYZ developers- those who know one thing, and only one, no matter how well.  Because sooner or later, and generally sooner, that one thing becomes irrelevant and obsolete.  Well, at least for the things XYZ developers generally specialize in- being an expert in graph theory or linear algebra isn&#8217;t going to be obsoleted any time soon.</p>
<p>I knew a guy, once, who was an expert Windows developer- knew damned near everything there was to know about Windows&#8230; 3.1.  He&#8217;d already had the unpleasant experience of losing jobs to people with 1/5th his experience, simply because they were experienced in Windows 95, and he wasn&#8217;t.  You see the exact same problem in nature- species that over specialize generally die out, it&#8217;s the generalists who can adapt to a wide variety of climates and conditions that have the real longevity.  For the exact same reason.  Unlike in nature, where the same conditions can hold for geological amounts of time, in the realm of computers the analogical equivalent of massive climate change happens on about a 10-time frame.</p>
<p>So how do you be an adapter, not an over specializer?  How do you survive when the whatever it is you so carefully learned gets left on the side of the road for something new and completely different?  Well, first, know more than one thing.  And always be learning something new.  And second, concentrate on learning those things that don&#8217;t change- which effectively means, learn the theory.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Kimsal</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-33772</link>
		<dc:creator>Michael Kimsal</dc:creator>
		<pubDate>Thu, 09 Oct 2008 03:18:44 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-33772</guid>
		<description>Wholly late to the party, but I just read the line about "java developers vs developers who know java" and thought I'd chime in.  Someone identified me as (accused me of being a?) "Windows developer" because on my webdevradio podcast (subtle advertising plug there) I mentioned I was doing some .NET development.  I felt compelled to explain that I'm a developer who's doing some .NET work, but I'm not a .NET developer.  This was meant less as some sort of arrogant "I'm not a *Windows* developer!" defense mechanism and more of a "I'm *not* a Windows developer!" statement.  That is to say, there are people who devote their entire life to Windows development, and are damn good at it, and I'm not one of them.  Not because of any hatred of the platform, but just because I tend to move around between platforms.  People who are truly *Windows* developers - people who can make it sing and dance and know the ins and outs of all the underlying guts - they've got my respect because I basically can't do what they do.  But I *can* learn enough on most platforms to get done what clients need done, and if one platform is better suited than another I can make that recommendation somewhat unbiasedly.  I still lean towards "open source" partially for cost and partially for issue of freedom, but have this recent case where, all client factors considered, Windows was the best option right now.  So we went with it.  

Anyway, just a slight ramble there.  The "XYZ developer vs developer who knows XYZ" distinction is *huge* and sadly one that is hard for many people to make.</description>
		<content:encoded><![CDATA[<p>Wholly late to the party, but I just read the line about &#8220;java developers vs developers who know java&#8221; and thought I&#8217;d chime in.  Someone identified me as (accused me of being a?) &#8220;Windows developer&#8221; because on my webdevradio podcast (subtle advertising plug there) I mentioned I was doing some .NET development.  I felt compelled to explain that I&#8217;m a developer who&#8217;s doing some .NET work, but I&#8217;m not a .NET developer.  This was meant less as some sort of arrogant &#8220;I&#8217;m not a *Windows* developer!&#8221; defense mechanism and more of a &#8220;I&#8217;m *not* a Windows developer!&#8221; statement.  That is to say, there are people who devote their entire life to Windows development, and are damn good at it, and I&#8217;m not one of them.  Not because of any hatred of the platform, but just because I tend to move around between platforms.  People who are truly *Windows* developers - people who can make it sing and dance and know the ins and outs of all the underlying guts - they&#8217;ve got my respect because I basically can&#8217;t do what they do.  But I *can* learn enough on most platforms to get done what clients need done, and if one platform is better suited than another I can make that recommendation somewhat unbiasedly.  I still lean towards &#8220;open source&#8221; partially for cost and partially for issue of freedom, but have this recent case where, all client factors considered, Windows was the best option right now.  So we went with it.  </p>
<p>Anyway, just a slight ramble there.  The &#8220;XYZ developer vs developer who knows XYZ&#8221; distinction is *huge* and sadly one that is hard for many people to make.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Enfranchised Mind &#187; Jeremy Pavleck on Updating Technical Skills (with Graphs!)</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32597</link>
		<dc:creator>Enfranchised Mind &#187; Jeremy Pavleck on Updating Technical Skills (with Graphs!)</dc:creator>
		<pubDate>Thu, 14 Feb 2008 04:49:49 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32597</guid>
		<description>[...] sobering feet-on-the-ground reminder of the heady &#8220;CS degree&#8221; conversation going on (1, 2), and it has some quality charts a la my &#8220;Brief Reality Check on Ruby Jobs&#8221; [...]</description>
		<content:encoded><![CDATA[<p>[...] sobering feet-on-the-ground reminder of the heady &#8220;CS degree&#8221; conversation going on (1, 2), and it has some quality charts a la my &#8220;Brief Reality Check on Ruby Jobs&#8221; [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Enfranchised Mind &#187; What use is a CS Degree III: Truth and Consequences</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32534</link>
		<dc:creator>Enfranchised Mind &#187; What use is a CS Degree III: Truth and Consequences</dc:creator>
		<pubDate>Sun, 03 Feb 2008 14:08:50 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32534</guid>
		<description>[...] &#187; Blog Archive &#187; In Defense Of Computer Science on What good is a CS degree?bhurt on What Good is a CS Degree II: The ResponseLibby on Let Me Save You $40: Here&#8217;s How to Be [...]</description>
		<content:encoded><![CDATA[<p>[...] &raquo; Blog Archive &raquo; In Defense Of Computer Science on What good is a CS degree?bhurt on What Good is a CS Degree II: The ResponseLibby on Let Me Save You $40: Here&#8217;s How to Be [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: bhurt</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32481</link>
		<dc:creator>bhurt</dc:creator>
		<pubDate>Tue, 29 Jan 2008 21:56:34 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32481</guid>
		<description>There is another post brewing on this subject, but there's one response I wanted to make right away (because it doesn't fit into the post I'm thinking about, among other things):

Joel Klein said:
&lt;BLOCKQUOTE&gt;The cliched answer I know is that after 5-10 years the people with the domain knowledge get promoted to managers and tech leads and no longer write code.&lt;/BLOCKQUOTE&gt;

Let's think about this for a moment.  There are two problems with this.  First problem- this works only if each new generation of programmers is signficantly larger than all the ones previous to it.  Think about it.  Over, say, a fourty year long career, you spend, let's be generous, 20 years doing "real work" and 20 years as a manager.  If each generation of programmers is only as large as the one previous to it, that means half your people are now managers.  If you only spend 10 years programming, 3 out of 4 are managers.  At 5 years programming, 7 out of 8 are managers.  Talk about too many chiefs and not enough indians.  In the fifties, sixties, seventies, even the eighties, we could get away with this- because there were many more young programmers than there were old programmers.  But the "promote to management" idea works a lot like a Ponzi scheme- once you stop getting enough new blood in, it collapses.

Second problem- you're assuming that everyone who is good as programmer would be good as a manager.  I, for example, would suck at being a manager, and it's not something I'd enjoy doing.  So, one of my career goals is to never be a manager (team lead, maybe.  No higher).</description>
		<content:encoded><![CDATA[<p>There is another post brewing on this subject, but there&#8217;s one response I wanted to make right away (because it doesn&#8217;t fit into the post I&#8217;m thinking about, among other things):</p>
<p>Joel Klein said:</p>
<blockquote><p>The cliched answer I know is that after 5-10 years the people with the domain knowledge get promoted to managers and tech leads and no longer write code.</p></blockquote>
<p>Let&#8217;s think about this for a moment.  There are two problems with this.  First problem- this works only if each new generation of programmers is signficantly larger than all the ones previous to it.  Think about it.  Over, say, a fourty year long career, you spend, let&#8217;s be generous, 20 years doing &#8220;real work&#8221; and 20 years as a manager.  If each generation of programmers is only as large as the one previous to it, that means half your people are now managers.  If you only spend 10 years programming, 3 out of 4 are managers.  At 5 years programming, 7 out of 8 are managers.  Talk about too many chiefs and not enough indians.  In the fifties, sixties, seventies, even the eighties, we could get away with this- because there were many more young programmers than there were old programmers.  But the &#8220;promote to management&#8221; idea works a lot like a Ponzi scheme- once you stop getting enough new blood in, it collapses.</p>
<p>Second problem- you&#8217;re assuming that everyone who is good as programmer would be good as a manager.  I, for example, would suck at being a manager, and it&#8217;s not something I&#8217;d enjoy doing.  So, one of my career goals is to never be a manager (team lead, maybe.  No higher).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Fischer</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32478</link>
		<dc:creator>Robert Fischer</dc:creator>
		<pubDate>Tue, 29 Jan 2008 15:05:58 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32478</guid>
		<description>Also, companies tend to ask for the top tier because they've been burnt too many times by getting bottom tier candidates.  So they tend to ask for overkill in their requirements.</description>
		<content:encoded><![CDATA[<p>Also, companies tend to ask for the top tier because they&#8217;ve been burnt too many times by getting bottom tier candidates.  So they tend to ask for overkill in their requirements.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Fischer</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32477</link>
		<dc:creator>Robert Fischer</dc:creator>
		<pubDate>Tue, 29 Jan 2008 14:55:16 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32477</guid>
		<description>@Shanti

&lt;em&gt;My $.02 - companies always seem to want the “Top 1%”, CS-degree graduate “rockstars”.&lt;/em&gt;

My experience is that companies that ask for "rock stars" or "ninjas" or "gurus" are basically trying to be hip and authentic&lt;sup&gt;1&lt;/sup&gt;, and they generally fail at it.  Worse, I've found recruiters using those words as ways to entice people into thinking it's a prestigious position, and therefore you should lower your rates for the opportunity to work at such an incredible place.

As a rule, I don't apply for any contract that uses those words anymore.

&lt;small&gt;&lt;sup&gt;1&lt;/sup&gt;See &lt;a href="http://www.cluetrain.com/book/index.html" rel="nofollow"&gt;The Cluetrain Manifesto&lt;/a&gt; for a reason as to why.  The book also features &lt;a href="http://books.google.com/books?id=cITHcK6O_YUC&#038;pg=PA67&#038;lpg=PA67&#038;dq=%22cluetrain+manifesto%22+%22brian+hurt%22&#038;source=web&#038;ots=QKmyU6OKqC&#038;sig=fzVGbvElR9BWUZ8XWhjKRYYTnfM" rel="nofollow"&gt;a sidebar rant from some loud-mouth named Brian Hurt&lt;/a&gt; which is worth reading anyway.&lt;/small&gt;</description>
		<content:encoded><![CDATA[<p>@Shanti</p>
<p><em>My $.02 - companies always seem to want the “Top 1%”, CS-degree graduate “rockstars”.</em></p>
<p>My experience is that companies that ask for &#8220;rock stars&#8221; or &#8220;ninjas&#8221; or &#8220;gurus&#8221; are basically trying to be hip and authentic<sup>1</sup>, and they generally fail at it.  Worse, I&#8217;ve found recruiters using those words as ways to entice people into thinking it&#8217;s a prestigious position, and therefore you should lower your rates for the opportunity to work at such an incredible place.</p>
<p>As a rule, I don&#8217;t apply for any contract that uses those words anymore.</p>
<p><small><sup>1</sup>See <a href="http://www.cluetrain.com/book/index.html" rel="nofollow">The Cluetrain Manifesto</a> for a reason as to why.  The book also features <a href="http://books.google.com/books?id=cITHcK6O_YUC&#038;pg=PA67&#038;lpg=PA67&#038;dq=%22cluetrain+manifesto%22+%22brian+hurt%22&#038;source=web&#038;ots=QKmyU6OKqC&#038;sig=fzVGbvElR9BWUZ8XWhjKRYYTnfM" rel="nofollow">a sidebar rant from some loud-mouth named Brian Hurt</a> which is worth reading anyway.</small></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Shanti Braford</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32474</link>
		<dc:creator>Shanti Braford</dc:creator>
		<pubDate>Tue, 29 Jan 2008 05:28:28 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32474</guid>
		<description>My $.02 - companies always seem to want the "Top 1%", CS-degree graduate "rockstars".

Are 99% of these companies building compilers, facial recognition software, AI engines or a better bubblesort?  No -- it would seem that a large chunk of a CS-graduate hired developer's day has little to nothing to do with "CS-stuff".

Sadly (or is it?), CRUD rules the day if your customer accesses your product through a browser.  And desktop Java or C# applications?  The difficult part of the job is almost always about nailing down requirements, getting the UI right, shuffling data back and forth, etc.  

Rarely does a programmer, at least from my experience, need to dust off their copy of:
http://www.icpc-bolivia.edu.bo/books/intro_algorithms.jpg</description>
		<content:encoded><![CDATA[<p>My $.02 - companies always seem to want the &#8220;Top 1%&#8221;, CS-degree graduate &#8220;rockstars&#8221;.</p>
<p>Are 99% of these companies building compilers, facial recognition software, AI engines or a better bubblesort?  No &#8212; it would seem that a large chunk of a CS-graduate hired developer&#8217;s day has little to nothing to do with &#8220;CS-stuff&#8221;.</p>
<p>Sadly (or is it?), CRUD rules the day if your customer accesses your product through a browser.  And desktop Java or C# applications?  The difficult part of the job is almost always about nailing down requirements, getting the UI right, shuffling data back and forth, etc.  </p>
<p>Rarely does a programmer, at least from my experience, need to dust off their copy of:<br />
<a href="http://www.icpc-bolivia.edu.bo/books/intro_algorithms.jpg" rel="nofollow">http://www.icpc-bolivia.edu.bo/books/intro_algorithms.jpg</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Fischer</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32460</link>
		<dc:creator>Robert Fischer</dc:creator>
		<pubDate>Mon, 28 Jan 2008 21:25:22 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32460</guid>
		<description>@Joe

+1 -- There are some pretty impressive business stunts pulled to accomplish exactly this (see &lt;a href="http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32456" rel="nofollow"&gt;my comment above&lt;/a&gt;).  A lot of businesses want technicians, not developers: they don't want people who design cars, they want people to work the assembly lines and fix them up.  See my post &lt;a href="http://enfranchisedmind.com/blog/2006/01/16/the-programmer-is-dead-long-live-the-developer/" rel="nofollow"&gt;The Programmer is Dead: Long Live the Technician!&lt;/a&gt; for more on that.</description>
		<content:encoded><![CDATA[<p>@Joe</p>
<p>+1 &#8212; There are some pretty impressive business stunts pulled to accomplish exactly this (see <a href="http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32456" rel="nofollow">my comment above</a>).  A lot of businesses want technicians, not developers: they don&#8217;t want people who design cars, they want people to work the assembly lines and fix them up.  See my post <a href="http://enfranchisedmind.com/blog/2006/01/16/the-programmer-is-dead-long-live-the-developer/" rel="nofollow">The Programmer is Dead: Long Live the Technician!</a> for more on that.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joel Klein</title>
		<link>http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32459</link>
		<dc:creator>Joel Klein</dc:creator>
		<pubDate>Mon, 28 Jan 2008 19:46:36 +0000</pubDate>
		<guid isPermaLink="false">http://enfranchisedmind.com/blog/2008/01/27/what-good-is-a-cs-degree-ii-the-response/#comment-32459</guid>
		<description>"The other thing is that business needs Java developers today- but that’s not what they’re going to need ten years, or twenty years, or forty years, down the road. So what’s going to happen to all of those tech-school grads who only know Java then?"

The cliched answer I know is that after 5-10 years the people with the domain knowledge get promoted to managers and tech leads and no longer write code. The cheaper fresh graduates do the grunt work and if necessary learn the new technology.  Those who don't care to get promoted because they want to keep coding learn the new tech, and I think those who don't learn the domain knowledge are not invited to be promoted. I don't know if this is what you mean by Business.  I've seen this born out at tech companies with environments of largish teams (100-300 developers) making huge systems of end-user products.  The complexity of these systems required lots of domain knowledge.</description>
		<content:encoded><![CDATA[<p>&#8220;The other thing is that business needs Java developers today- but that’s not what they’re going to need ten years, or twenty years, or forty years, down the road. So what’s going to happen to all of those tech-school grads who only know Java then?&#8221;</p>
<p>The cliched answer I know is that after 5-10 years the people with the domain knowledge get promoted to managers and tech leads and no longer write code. The cheaper fresh graduates do the grunt work and if necessary learn the new technology.  Those who don&#8217;t care to get promoted because they want to keep coding learn the new tech, and I think those who don&#8217;t learn the domain knowledge are not invited to be promoted. I don&#8217;t know if this is what you mean by Business.  I&#8217;ve seen this born out at tech companies with environments of largish teams (100-300 developers) making huge systems of end-user products.  The complexity of these systems required lots of domain knowledge.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
