<?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: Does a PHP programmer need a CS degree?</title>
	<atom:link href="http://benramsey.com/archives/php-programmer-need-computer-science-degree/feed/" rel="self" type="application/rss+xml" />
	<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/</link>
	<description>PHP and Other Techno-babble</description>
	<pubDate>Sat, 22 Nov 2008 12:08:33 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
		<item>
		<title>By: Random Thoughts</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-25</link>
		<dc:creator>Random Thoughts</dc:creator>
		<pubDate>Sat, 28 Aug 2004 13:34:35 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-25</guid>
		<description>However, it is important to remember what a computer science degree actually is. It is the study of computational mathematics. Computer science is not there to teach you how to program. It is to teach you what programs are and how they work from a theoretical stand point.

They are there to teach you things about O notation, and data structures, and all the things in between that allow you to deal with things at a consistent theoretical level. IE: Can you mathematically PROVE your algorithm runs in this time? Not very useful for anyone writing code, but great for those cases where it absolutely must ben proven.

To put it in a practical context lets say you are designing some system, based on requirements. Pre coding. Part of this system is something like say.. a spell checker? How do you actually *write* a spell checker. How do you determine if a word is in your dictionary or not? How do you create suggestions if the word *is* misspelled. 

Without data structures and knowledge of some pretty slick algorithms you have to spend a lot of extra time figuring it out. Someone with a CS degree can probably tell you that you could very easily store an entire english dictionary in a Trie tree with a great memory space savings. Your lookup time will be O(n) where n = the length of the longest word in your dictionary. They could then easily tell you that a less memory efficient approach, but more processor friendly approach is using a basic hash, its lookup time is O(1). In real world terms, a worst case performance if 15 iterations is fine, so we choose the Trie tree for the space savings. Away you go implementing it if you already know the data structure. Else you may struggle with it longer. That is where the value of the CS degree comes in. 

Something to think on.

Random</description>
		<content:encoded><![CDATA[<p>However, it is important to remember what a computer science degree actually is. It is the study of computational mathematics. Computer science is not there to teach you how to program. It is to teach you what programs are and how they work from a theoretical stand point.</p>
<p>They are there to teach you things about O notation, and data structures, and all the things in between that allow you to deal with things at a consistent theoretical level. IE: Can you mathematically PROVE your algorithm runs in this time? Not very useful for anyone writing code, but great for those cases where it absolutely must ben proven.</p>
<p>To put it in a practical context lets say you are designing some system, based on requirements. Pre coding. Part of this system is something like say.. a spell checker? How do you actually <strong>write</strong> a spell checker. How do you determine if a word is in your dictionary or not? How do you create suggestions if the word <strong>is</strong> misspelled. </p>
<p>Without data structures and knowledge of some pretty slick algorithms you have to spend a lot of extra time figuring it out. Someone with a CS degree can probably tell you that you could very easily store an entire english dictionary in a Trie tree with a great memory space savings. Your lookup time will be O(n) where n = the length of the longest word in your dictionary. They could then easily tell you that a less memory efficient approach, but more processor friendly approach is using a basic hash, its lookup time is O(1). In real world terms, a worst case performance if 15 iterations is fine, so we choose the Trie tree for the space savings. Away you go implementing it if you already know the data structure. Else you may struggle with it longer. That is where the value of the CS degree comes in. </p>
<p>Something to think on.</p>
<p>Random</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastian Mordziol</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-22</link>
		<dc:creator>Sebastian Mordziol</dc:creator>
		<pubDate>Tue, 17 Aug 2004 09:17:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-22</guid>
		<description>Strange how many English Lit. degreed people end up as web developers (myself included) - there has to be some kind of weird connection here :) 

As for whether you need a CS degree, it's a clear no from my experience. However, I noticed that my experience with computers in general (I started programming when I was 9 with a Commodore C64) gives me some in-depth knowledge that can make quite a difference: the company I work for has an ongoing policy for hiring apprentices, and I have been able to compare my experience with theirs. In general they have a completely different approach to the subject - they simply don't care about the internals, they just use what they find. The knowledge that I was able to learn by myself over the years by testing a lot of different technologies they still have to learn, and can mostly only learn in theory.

To sum up, I think having a CS degree is not needed of you are experienced, but can be helpful to strengthen your current position. If you are just starting in the business, it is IMHO quite an asset unless you are a wizard :)</description>
		<content:encoded><![CDATA[<p>Strange how many English Lit. degreed people end up as web developers (myself included) &#8211; there has to be some kind of weird connection here <img src='http://benramsey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>As for whether you need a CS degree, it&#8217;s a clear no from my experience. However, I noticed that my experience with computers in general (I started programming when I was 9 with a Commodore C64) gives me some in-depth knowledge that can make quite a difference: the company I work for has an ongoing policy for hiring apprentices, and I have been able to compare my experience with theirs. In general they have a completely different approach to the subject &#8211; they simply don&#8217;t care about the internals, they just use what they find. The knowledge that I was able to learn by myself over the years by testing a lot of different technologies they still have to learn, and can mostly only learn in theory.</p>
<p>To sum up, I think having a CS degree is not needed of you are experienced, but can be helpful to strengthen your current position. If you are just starting in the business, it is IMHO quite an asset unless you are a wizard <img src='http://benramsey.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gustavo Beathyate</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-21</link>
		<dc:creator>Gustavo Beathyate</dc:creator>
		<pubDate>Mon, 16 Aug 2004 14:52:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-21</guid>
		<description>Well, here in Peru you can probably do better (make more money) if you get a more administration related degree (Business Administration, Industrial Engineering, etc.) and then just get a certificate by Microsoft or Cisco. If you get a CS degree you are more likely to end up being a technician.</description>
		<content:encoded><![CDATA[<p>Well, here in Peru you can probably do better (make more money) if you get a more administration related degree (Business Administration, Industrial Engineering, etc.) and then just get a certificate by Microsoft or Cisco. If you get a CS degree you are more likely to end up being a technician.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steve Dix</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-20</link>
		<dc:creator>Steve Dix</dc:creator>
		<pubDate>Mon, 16 Aug 2004 07:47:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-20</guid>
		<description>I'd like to echo what Chris Shiflett said : having a degree gives you a lot of theoretical background to work with, and therefore, a better framework in which to express your ideas.  However, it's only half of the equation.  I've come across a lot of self-taught programmers in the past who were excellent, but spent a lot of time re-inventing the wheel out of ignorance, or found it difficult or impossible to communicate their ideas.  I've also come across a lot of highly-qualified but inexperienced programmers who wrote totally unmaintainable code and didn't document it.</description>
		<content:encoded><![CDATA[<p>I&#8217;d like to echo what Chris Shiflett said : having a degree gives you a lot of theoretical background to work with, and therefore, a better framework in which to express your ideas.  However, it&#8217;s only half of the equation.  I&#8217;ve come across a lot of self-taught programmers in the past who were excellent, but spent a lot of time re-inventing the wheel out of ignorance, or found it difficult or impossible to communicate their ideas.  I&#8217;ve also come across a lot of highly-qualified but inexperienced programmers who wrote totally unmaintainable code and didn&#8217;t document it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ligaya Turmelle</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-19</link>
		<dc:creator>Ligaya Turmelle</dc:creator>
		<pubDate>Mon, 16 Aug 2004 04:38:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-19</guid>
		<description>Experience vs. education.  For me I think that you really need both.  I chose the education route first (I work well in a class room situation) and then out in the world to learn how it really works.  I personally see education as a way of learning the general basics - laying a good foundation.  There I learned not just how to program but all the theory behind it.  So now even though I may not have done something I can sort of understand how it works.  You however are probably beyond that.

For you I would say that getting a degree is more a matter of dotting your i's and crossing your t's (not too mention making you more marketable in the work force).  I say get it - doesn't hurt much and you may occasionally learn something. And you may be able to get more money for it.

Online vs. traditional classes.  Hands down - traditional.  Names sometimes count not to mention the whole "college experience".  Yeah - I went back to school at 25, married, with a kid - and I still joined a fraternity (delta sigma pi) and a couple of associations (AITP, ACM).  Any networking helps.  If not for this job - then the next.

(I have an ABET accredited (as if it matters) CIS degree rather then CS - less math :),  but it minors business.)</description>
		<content:encoded><![CDATA[<p>Experience vs. education.  For me I think that you really need both.  I chose the education route first (I work well in a class room situation) and then out in the world to learn how it really works.  I personally see education as a way of learning the general basics &#8211; laying a good foundation.  There I learned not just how to program but all the theory behind it.  So now even though I may not have done something I can sort of understand how it works.  You however are probably beyond that.</p>
<p>For you I would say that getting a degree is more a matter of dotting your i&#8217;s and crossing your t&#8217;s (not too mention making you more marketable in the work force).  I say get it &#8211; doesn&#8217;t hurt much and you may occasionally learn something. And you may be able to get more money for it.</p>
<p>Online vs. traditional classes.  Hands down &#8211; traditional.  Names sometimes count not to mention the whole &#8220;college experience&#8221;.  Yeah &#8211; I went back to school at 25, married, with a kid &#8211; and I still joined a fraternity (delta sigma pi) and a couple of associations (AITP, ACM).  Any networking helps.  If not for this job &#8211; then the next.</p>
<p>(I have an ABET accredited (as if it matters) CIS degree rather then CS &#8211; less math :),  but it minors business.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrick Reilly</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-18</link>
		<dc:creator>Patrick Reilly</dc:creator>
		<pubDate>Sun, 15 Aug 2004 23:33:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-18</guid>
		<description>I agree with Chris Shiflett's comments above. I too would value a PhD or at least a masters in CS. Maybe someday with things like â€œOpenCourseWareâ€? (OCW) we can all afford to become educated to the degree that we feel necessary.</description>
		<content:encoded><![CDATA[<p>I agree with Chris Shiflett&#8217;s comments above. I too would value a PhD or at least a masters in CS. Maybe someday with things like â€œOpenCourseWareâ€? (OCW) we can all afford to become educated to the degree that we feel necessary.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lukas</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-17</link>
		<dc:creator>Lukas</dc:creator>
		<pubDate>Sun, 15 Aug 2004 22:03:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-17</guid>
		<description>The benefits of a CS degree are not immidiate on most cases. The goal behind a CS degree, or any degree actually, is to educate the person in all the theories that are out there or have been out there. This is to ensure you are not only prepared for the latest hype, but you also know why the current hype is there and you will also know why the next hype will come. This makes you much more prepared to handle the next stages in computer development and maybe even take a part in making them a reality.

That said my university hasnt thought me that much, but I do know functional programming and some other stuff. Will they ever come in handy? Dunno.</description>
		<content:encoded><![CDATA[<p>The benefits of a CS degree are not immidiate on most cases. The goal behind a CS degree, or any degree actually, is to educate the person in all the theories that are out there or have been out there. This is to ensure you are not only prepared for the latest hype, but you also know why the current hype is there and you will also know why the next hype will come. This makes you much more prepared to handle the next stages in computer development and maybe even take a part in making them a reality.</p>
<p>That said my university hasnt thought me that much, but I do know functional programming and some other stuff. Will they ever come in handy? Dunno.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Chris Shiflett</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-15</link>
		<dc:creator>Chris Shiflett</dc:creator>
		<pubDate>Sun, 15 Aug 2004 15:28:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-15</guid>
		<description>I think a computer science education is very valuable. Experience is not a substitute. A degree in computer science gives you a strong theoretical foundation, and experience builds upon that with practical (applied) knowledge. Neither is a substitute for the other.

I value my computer science background enough that I've been trying to decide how I can afford to pursue a Masters or PhD in it.</description>
		<content:encoded><![CDATA[<p>I think a computer science education is very valuable. Experience is not a substitute. A degree in computer science gives you a strong theoretical foundation, and experience builds upon that with practical (applied) knowledge. Neither is a substitute for the other.</p>
<p>I value my computer science background enough that I&#8217;ve been trying to decide how I can afford to pursue a Masters or PhD in it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Travis Swicegood</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-14</link>
		<dc:creator>Travis Swicegood</dc:creator>
		<pubDate>Sun, 15 Aug 2004 03:56:29 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-14</guid>
		<description>When I got out of high school I looked at the CS route.  The courses they were offering were going to qualify me for a job as a professor of computer history, so I opted to go for practical experience.  Five years later, I'm making the same amount I would be if I had the degree - the only difference is now I have five years of practical experience instead of a four year degree that spent two to two and a half years on remedial English, Math, and "culture".

A few years ago I was at a Christmas party with one of the guys in accounting department at the university I was going to attend.  He'd had a few too many so he was willing to lay it on the line for me - "but it's not about getting an education, it's about getting your "dues card"."  I couldn't have summed up my thoughts on a diploma better.  I've seen too many messes created by "professionals" to put much stock in what papers decorate their walls.  

I've always been the independent learner-type, so what has worked for me, might not work for you, but for someone with the focus, I would recommend educating yourself.  It requires more discipline, but for me the payoff has been much better.  When I feel there's an area I need improvement on, I go down to the local Barnes &#038; Noble or get on Amazon.com and pick up a book targeting that area.</description>
		<content:encoded><![CDATA[<p>When I got out of high school I looked at the CS route.  The courses they were offering were going to qualify me for a job as a professor of computer history, so I opted to go for practical experience.  Five years later, I&#8217;m making the same amount I would be if I had the degree &#8211; the only difference is now I have five years of practical experience instead of a four year degree that spent two to two and a half years on remedial English, Math, and &#8220;culture&#8221;.</p>
<p>A few years ago I was at a Christmas party with one of the guys in accounting department at the university I was going to attend.  He&#8217;d had a few too many so he was willing to lay it on the line for me &#8211; &#8220;but it&#8217;s not about getting an education, it&#8217;s about getting your &#8220;dues card&#8221;.&#8221;  I couldn&#8217;t have summed up my thoughts on a diploma better.  I&#8217;ve seen too many messes created by &#8220;professionals&#8221; to put much stock in what papers decorate their walls.  </p>
<p>I&#8217;ve always been the independent learner-type, so what has worked for me, might not work for you, but for someone with the focus, I would recommend educating yourself.  It requires more discipline, but for me the payoff has been much better.  When I feel there&#8217;s an area I need improvement on, I go down to the local Barnes &#38; Noble or get on Amazon.com and pick up a book targeting that area.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mal Adjusted</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-13</link>
		<dc:creator>Mal Adjusted</dc:creator>
		<pubDate>Sun, 15 Aug 2004 01:44:58 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-13</guid>
		<description>You know, there's a rather high percentage of us with English Lit. degrees who've programmed all of out careers.

Ir was either law school or hacking for me. I'm happy with my choice...most of the time.</description>
		<content:encoded><![CDATA[<p>You know, there&#8217;s a rather high percentage of us with English Lit. degrees who&#8217;ve programmed all of out careers.</p>
<p>Ir was either law school or hacking for me. I&#8217;m happy with my choice&#8230;most of the time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MarkL</title>
		<link>http://benramsey.com/archives/php-programmer-need-computer-science-degree/#comment-12</link>
		<dc:creator>MarkL</dc:creator>
		<pubDate>Sun, 15 Aug 2004 00:41:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.benramsey.com/2004/08/14/php-programmer-need-computer-science-degree/#comment-12</guid>
		<description>A degree looks good on paper and can certainly help in getting jobs but i've found nothing beats experience.
I've seen programmers with degrees who can't code and also programmers without degrees who can code in their sleep.
So i don't think you &lt;b&gt;need&lt;/b&gt; a degree to continue in your line of work but it can help you get started on the path.
I've been lucky enough to have had employers who go for experience over qualifications. Qualifications to me have always been a personal thing and not a career thing, but milage may vary ;)
(i do have a degree (computing mathematics) but i'd still be where i am without it.)</description>
		<content:encoded><![CDATA[<p>A degree looks good on paper and can certainly help in getting jobs but i&#8217;ve found nothing beats experience.<br />
I&#8217;ve seen programmers with degrees who can&#8217;t code and also programmers without degrees who can code in their sleep.<br />
So i don&#8217;t think you <b>need</b> a degree to continue in your line of work but it can help you get started on the path.<br />
I&#8217;ve been lucky enough to have had employers who go for experience over qualifications. Qualifications to me have always been a personal thing and not a career thing, but milage may vary <img src='http://benramsey.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> <br />
(i do have a degree (computing mathematics) but i&#8217;d still be where i am without it.)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
