5 ms·
On the Fence? Major in CS
- asciilifeform 17y agoI strongly disagree. Statistically speaking, most CS majors are doomed to salt mines (or a change of profession entirely.) See: http://www.reddit.com/r/programming/comments/83dzc/dear_reddit_i_am_a_15_year_old_boy_that_is/c08673l http://www.reddit.com/r/programming/comments/83dzc/dear_redd...
- scott_s 17y agoHis point wasn't the professional options. In response to a poster, he said: True, but what I want to emphasize is that the CS way of thinking is extremely valuable outside of the software field.
- swombat 17y agoI would still disagree... I think the CS way of thinking, if you're computer-savvy, will be there with or without a CS degree. Better get something else. If you want a more robust, equally versatile scientific field, I'd suggest Physics or Maths.
- scott_s 17y agoI'm not sure if I agree or disagree with his point, but I find the concept that the CS way of thinking will be there with or without a CS education naive. (Note I said education, not degree.) Once we've learned fundamental concepts, it's difficult to imagine when we didn't know them, and it's easy to assume learning it was inevitable.
- swombat 17y agoWell, I never got a formal CS education, but I read a lot of books on the topic. Certainly my "CS education" is far from complete in the way that it would be if I'd done a degree (I know little about, say, how to write a compiler). But the bits that I don't know are the bits that I haven't needed to use, and everything that I've needed to learn, I've been able to learn. The only thing a CS degree might give you that self-study would not is a good overview of the field. But then, if you're passionate about programming and you've been into it since you were 10, chances are you have a pretty good overview of the field already. So in that case (passionate about computers since an early age, hesitating about degree) I would strongly recommend something other than CS.
- scott_s 17y agoAnd that's why I said education, not degree. Every person graduating with a Bachelor's in CS has holes in their CS education; different departments stress different parts of CS, and even inside a department, two people can often get very different educations. Although the attitude "the bits that I don't know are the bits that I haven't needed to use" is dangerous, since you never really know if you need something until you understand it. Anyway, your point seems to be if you're going to learn CS concepts anyway, then don't choose CS as a major. You're taking "going to learn CS concepts" as a given. The author did not.
- nostrademons 17y agoI was a physics major for 6 semesters, and up until my last semester had more courses in both physics and math than in CS. I think they're both definitely worth learning, but I would not call them a "more robust, equally versatile scientific field". A bachelor's in physics is fairly specific to giving you the foundations you need to do well in grad school. You can do a lot with it because workplaces use it as a signalling device for "I can think quantitatively", and so are more likely to hire a physics major than a random liberal arts major. But other than a general respect for data (which you'll get in any scientific degree), I haven't used any skill I learned in my physics courses. I've heard many non-programmers wish that they took at least an intro CS course, though.
- javanix 17y agoAt least we are decently well compensated for our salt mine jobs. There aren't a lot of professions that aren't salt mines in today's corporate culture - so I'd much rather spend my time actually creating and designing something (no matter how pointless) instead of bashing my head against a spreadsheet every day.
- asciilifeform 17y ago> I'd much rather spend my time actually creating... instead of bashing my head against a spreadsheet The problem is that most industrial programming is a sort of motorized version of bashing one's head against an ultimately meaningless spreadsheet.
- biohacker42 17y agoIn his introduction you can replace the word "Academia" with "the majority of programming jobs" and it would still be true. If you're a merely average programmer, you're going to get stuck in a crappy corporate cube farm. You should either have the passion or genius to dive into startups and/or be hired by cutting edge companies, or you should not think that a CS degree is some kind of ticket to paradise.
- asciilifeform 17y ago> You should either have the passion or genius to dive into startups For that, you also need some degree of extraversion, and a willingness to put up with mountains of bullshit and to work on problems of zero long-term consequence and of scarcely any deep intellectual interest. > be hired by cutting edge companies And if you simply want to work on your own creative ideas, instead of being a servant (whether to established companies or to fickle startup customers), academia is the only remaining ticket. And when it spits you out, you're screwed. Industrial research (say, at Google) mostly hires those with a Ph.D. Thus the gatekeeper is the same.
- nostrademons 17y ago> And if you simply want to work on your own creative ideas I think that it's more a question of redefining "your own creative ideas" to have a narrower scope. There're plenty of opportunities for creativity even in large organizations, they just have to fit into the overall framework of the organization's goals. If you look at truly world-changing, creative "big ideas", they often grew out of very limited, narrowly-scoped ideas that someone started exploring. Microsoft came from a BASIC interpreter for the Altair. Google Search came from the idea of downloading the web and just keeping the links - they weren't even thinking of a search engine at that point. GMail came from sticking PB's email into the groups indexing engine. Linux came from printing out ABABA on the terminal. Then they attracted lots of people interested in ironing out the details, and that's what made them world-changing products. I'd wager that about 99% of the people working on their own creative ideas in big research labs or tenured professorships will never have anything come of those ideas. That's the nature of research: almost all new ideas are crap. But in the process, they explore lots of little ideas in related spaces, and some of those may prove useful.
- nostrademons 17y agoStatistically speaking, that is true of nearly all fields. Only 5% of people can be in the top 5%. Some data points (hey, the singular of data is "anecdote"): My sister's boyfriend has a Ph.D in biomedical engineering. He makes less than half what she does, post-doccing. His day job consists of writing papers that the tenured professors get credit for. My roommate has a degree from Cornell, also in biomedical engineering. She runs community outreach (i.e. posting on FaceBook) for a youth soccer nonprofit. One of my best friends from college is working on his Ph.D in physics. He is planning to become a baker afterwards, because there are very few jobs for physics Ph.Ds. Another of my college friends has a masters in mathematics after dropping out of the Ph.D program. He teaches math to high school girls at an elite private school. My dad has an MIT Ph.D in nuclear chemistry. He became a househusband when I was born after finding the corporate world a soul-crushing mess of office politics. One of my netfriends has a degree in biology. She kills rats for $30k/year and considers herself lucky. Another netfriend has a degree in biochem. She works as community manager for a Web 2.0 fashion site after a stint as a UPS store manager. It's necessarily true that professions will seem more glamorous as a kid than they are in real life, because you only hear about the glamorous ones. They wouldn't be noteworthy if they were just like what your parents did. But most people still manage to be happy in their job, even if its nowhere near as exciting as they imagined when they were young. Heck, I work in what most people would consider a fairly glamorous programming job (Google Search, as a UI engineer writing new features for the search results page). Y'know what the majority of my workweek consists of? Tweaking CSS so an element is no longer off by 1 pixel in WebKit. Writing tools to automate 5-step long build processes. Getting things to work with other teams' features that basically invalidated all my design assumptions. Figuring out why my new feature is suddenly broken in IE8. Getting yelled at (metaphorically) for breaking the build. This really isn't all that different from what any other web developer does for a living. Everybody's doomed to the salt mines: it's whether you enjoy mining salt that matters.
- jimbokun 17y agoNow contrast all of these people to some other groups with just a high school diploma. They might not even have the options open to them of becoming a house husband, or never met the people in college who became the connection for a job at a Web 2.0 fashion site. Getting graduate degrees learning stuff that you cannot apply to gainful employment may seem a waste, but it is difficult to predict how educational opportunities will benefit you.
- javanix 17y agoExactly. Most of CS also revolves around making things easier (correctly, of course) for yourself. If there's a method that will get things done with less work, you are usually encouraged to take it, provided it gives the right output - nobody cares too much unless its completely slow or bloated. That was the biggest reason for me over going into engineering - CS actually rewards you for thinking outside the box, and it thinking like that really helps most of the time.
- cnlwsu 17y ago- CS actually rewards you for thinking outside the box ... where on earth do you work? Dont get me wrong, I love CS; however, I dislike when people romanticize it. Read thedailywtf.com over and keep in mind that there is no shortage of stories ever to get posted on that site. and as for: - "What invariants must this process satisfy? What's the cleanest way to organize this structure? How should these subsystems work together?" I know a lot of people who graduated with me that I would not trust to ever answer any of those questions.. I have seen their programs and do not believe they know a good way to cleanly organize themselves out of a cardboard box.
- aneesh 17y ago> "if you know you want a technical major but you're not sure which, choose Computer Science." I disagree. If you know you want a technical major but you're not sure which, choose Math. It is the common factor that all other technical fields share, and it will give you the most options. Major in math, then go to grad school in CS, Physics, Economics, or even Law. But majoring in either CS or Economics makes it difficult to go to grad school in the other one. And most of the "benefits" of majoring in CS that he mentions don't actually require you to major in CS. You merely have to have an interest in programming, which is easier to pick up on the side. On the other hand, try teaching yourself abstract algebra. Further, the analytical thinking skills that university-level math gives you serve you well in many fields, including computer science. But all that said, if you know what you want to do, definitely do that!
- marcusbooster 17y agoI agree with you in that Math is more universal and probably a better place to go if you're on the fence. But it depends on the Computer Science program. I think of CS as more of a theoretical approach to computing, but it seems a lot of schools are placing emphasis on the more practical aspects of development (like actually working? who'd of thought). I've heard complaints that universities have just been turned into Java mills.
- jimbokun 17y agoI have a degree closely related to CS, and lately I have been trying to learn as much math as I possibly can (specifically, all of the math needed to understand the ideas behind machine learning).
- bbuffone 17y ago"if you know you want a technical major but you're not sure which, choose Computer Science." I completely disagree. I am not even convinced that a computer science degree is the best degree to have for a software job, but a computer science degree is useless unless you go into computer science. The other degrees can yield multiple career opportunities math being the most widely applicable to different careers. Disclaimer: I have a degree in mathematics.
- Xichekolas 17y agoI'd say just the opposite, and not just because I have a degree in CS. My reasoning is: in the next 50-100 years, there will be a ton of breakthroughs in other fields brought about by sheer number crunching. Biology is seeing this with bioinformatics, physics is seeing it by being able to process the humongous amounts of data thrown off by modern equipment like the LHC, etc. Having a CS degree allows you to work in any of those fields, applying your knowledge of computation to help others achieve decidedly non-useless breakthroughs. To give an example, the biology department at my alma mater is recruiting CS grad students as fast as it can to help implement some distributed system to simulate protein interaction (or something like that, I know so little about biology that it's embarrassing). I'm not saying CS should be the default choice of every technical person, but it's not utterly useless to other fields. In fact, I'd say CS is _more_ useful in this case than it is to cubicle software jobs, because in the average Enterprise Doohickey, you aren't doing anything complicated enough to care if your algorithm is O(n^2) vs O(n).
- endtime 17y agoAgreed. I've seen people in both linguistics and bio looking for CS RAs in the past few months. If you have a BA in Software Engineering then I agree it's probably useless for anything but programming, but a good BS in CS can get you a job in finance or a spot in law school (and some of my fellow CS majors from undergrad are doing those very things right now). It's definitely not a limiting degree.
- bbuffone 17y agoYour still doing CS - not biology and that was my point. The article seemed to be saying if you are not sure about what to do choose CS. I think that is the wrong choice. I love software and can't imagine doing anything else but if I had a CS and didn't like it I would need to go back to school and get another degree to do something else. That isn't true with say a math degree.
- biohacker42 17y agoCS majors learn to really program I have to disagree. People with a real passion for programming will use a CS program to become even better at programming. Other people, lured by the promises of big $, can get through a CS program with a bit of effort and at the end still be worse then average coders. That's certainly what I experienced when I got my CS degree. About half the people loved to program and the other half hated it and weren't good at it, but still got their degrees. A CS degree does not make you into a good coder, it can help you be one, but it doesn't make you.
- tlb 17y agoI disagree. If you're capable of being a good programmer, you'll get there faster by doing it than majoring in CS. If I were giving my 18yo self advice, I'd suggest majoring in physics but taking the minimum required courses. With a light core schedule, fill up the rest with economics, writing composition and history. Maybe design. On the other hand, PhD programs in CS are worthwhile.
- DannoHung 17y agoMaybe I misunderstood the article, but it seems like he was talking mostly at students with advanced degrees (possibly at the Doctoral level): Presumably two assumptions are made: 1) Getting a CS degree at some level is not the only degree that they will get 2) They are frickin' smart. The advantages that the author proposes are as such: 1) You will probably learn how to use a computer to solve problems for you at a level beyond using Matlab or Excel 2) You will have a practical and marketable degree with which you can enter the work force if you decide that academia is not where you want to stay. 3) The abstractions that you learn from studying Computer Science are applicable to many common systems beyond those found in computers. That is my interpretation.
- travisjeffery 17y agoCS is a subset of Mathematics, if you argue that the CS way of thinking is valuable you're really arguing that the Math way of thinking is valuable and Math would be much more applicable to a more wide range of Professions. On the fence? Major in Math.
- rdouble 17y agoMany people on this thread are suggesting a math degree instead of a CS degree if you're 'on the fence'. I was on the fence and got a math degree, and I disagree. Perhaps math programs are far different at other schools but here are some of the classes I was required to take, along with a few electives: real analysis, abstract algebra, "foundations" (more abstract algebra), knot theory, topology, algebraic geometry, number theory and so on and so forth. You'll note that almost none of these are applicable to anything unless you're doing very abstract research. It's impossible to get a job doing anything useful related to these topics with an undergraduate's understanding. It's probably impossible to get a job in these fields with a phd's understanding - math phds have the highest unemployment rate out of any phd, but that's another discussion. If I hadn't been a campus Perl programmer in my spare time I would have been unemployable like the other math majors who didn't take teaching credential courses. The only math I've really used much as a programmer is linear algebra, and perhaps "discrete" math which I didn't learn about in school because that class was offered by the CS department... In contrast, every job interview I've had they've asked the same algorithm and big-O questions. Those first interviews would have been less embarrassing if I had taken those classes in the first place. If you're on the fence, don't want to do CS, and want to major in something technical which is not only applicable to every scientific field as well as economics and finance and Google and Paypal, but is also in short supply, major in STATISTICS. Learn C, Python and Matlab in your spare time and take the intro algorithms class from the CS department. Good luck.
- jimbokun 17y agoI often kick myself for not taking Statistics more seriously as an undergrad. Maybe a Stats/CS dual major is the ultimate?
- philwelch 17y ago"When a math ABD starts telling me about how she really likes her work but is sick of the slow pace and the fact that only six people in the world understand her work, I get to take a nice minute alone with my thoughts: I've heard it over and over again, in the same words and the same weary, beaten-down tone." It's interesting to keep this in mind when reading Kaczynski's "Industrial Society And Its Future". He spills a lot of ink on how humans in industrial societies waste a lot of time and energy on "surrogate activities" rather than focusing on their own survival (which is no longer a challenge). It sounds a lot like the frustration of an academic who sees no use for his increasingly arcane work.