4 ms·
This article makes it seem like there's a choice, when honestly for the vast majority of all cases, there isn't. If you have the option, you should always get
by tsally 18y ago
This article makes it seem like there's a choice, when honestly for the vast majority of all cases, there isn't. If you have the option, you should always get your undergraduate degree in Computer Science instead of Game Design or Security. Even better would be an undergraduate degree in Philosophy or English, but let's not pursue that line of reasoning lest I say something controversial. Suffice to say, programming (and Computer Science in general) is essentially a task concerned with representing ideas. As the blog sphere proves, most people have absolutely no training on how to represent ideas, and the result is rather painful. English and Philosophy are far older disciplines than Computer Science; consequently their methods of teaching students how to represent ideas are far more developed. A major in English or Philosophy and a minor in Computer Science will make you a far better programmer than most of the pure bred Computer Scientists. Indeed, if I was designing a Computer Science curriculum I would integrate English and Philosophy courses into at least the first year of study.
If you want an example of a success story for the above doctrine, do some reading about this man: http://www.beckman.illinois.edu/directory/rpowers http://www.beckman.illinois.edu/directory/rpowers
- russell 18y agoActually, this is sound advice, although for employability, you might reverse the major and minor. Back in the days before the world was cluttered with CS majors :-), the consistently best programmers were musicians and people who never got a degree but liked programming.
- tsally 18y agoEmployability is always a concern, but honestly all you need is enough to get a technical interview. If you really know your stuff (as you should) and amaze the interviewer, they will be just that much more impressed that your degree is not in Computer Science. It creates an air of irreplaceability and uniqueness that is pretty essential. As you noted, there are a lot of CS majors floating around. :)
- russell 18y agoGood point. And if you get your coding experience in an extended fun project, outside job, or heavy OSS, you are far ahead of those pure CSers who did nothing but class assignments.
- yters 18y agoI've heard of one employer, who given a choice between music majors and computer scientists would choose music majors. Apparently their skill in composition translated well to programming.
- whacked_new 18y agoHow much experience goes into these ideas? They are quite astounding. I have the bias that physicists would make the best programmers. Anyone else?
- tsally 18y agoOf course there's always going to be confirmation bias, but I look at people who work on CS related stuff like Graham and Powers as proof. Also, I find that great programmers often develop an interest in photography, music, or writing later in their career. Is it then that hard to believe that they could have studied these topics originally and still developed into great, even excellent, programmers? The fact that English and Philosophy are concerned with representing ideas (i.e. the act of programming) is undeniable. The fact that people are not naturally good at representing ideas is also undeniable. I personally would go with the fields that have a better track record at producing people that think well in this way. Honestly CS has a pretty poor educational record when it comes down it it.
- whacked_new 18y agoActually I think what you are saying is simply that smart people who enter CS from tangential fields will still do well. Their competence will probably manifest itself regardless of what field they came from. The striking thing is when you say "English and Philosophy are far older disciplines than Computer Science; consequently their methods of teaching students how to represent ideas are far more developed." This seems to make sense. But these disciplines, although old and established, have spread across (diffused, if you will) a larger area, such that they become umbrella terms for many other studies which may not be specifically concerned with the formulation of ideas, and even less so in a quantitative and procedural manner. Thus it is still not entirely clear whether these older disciplines deserve credit for providing better training in representing ideas than straight-up CS.
- tsally 18y agoI originally had this view of English too, until I took a formal course on criticism in college. Some of the methods are surprisingly quantitative and all of them are procedural. Indeed, many techniques of criticism grew of the the fact that English Professors at universities in the 20th century had no formal method of research, while the counterparts in fields like Chemistry had no problem justifying their existence. I might be more precise in my words above by saying Literary Criticism instead of English. I agree with you that the direct benefit of these disciplines is not entirely clear; must research needs to be done in this area. One thing that is clear, however, is that the undergraduate CS curriculum is not particularly good at teaching this way of thinking. The closest you can come to achieving the effect of English and Philosophy on your thinking is a well designed CS curriculum focused on theory. I've found that the students here who find theory interesting also tend to be good programmers. Again, all of these thoughts are based simply on unscientific observation, but I believe there is a provable, related truth that might come out of them.