Slashdot Mirror


Is Computer Science Still Worth It?

prostoalex writes "Is it a good idea to go into Computer Science? Yes, there are certainly pending labor shortages as Indian companies outsource to the United States, but speakers of Stanford Computer Forum generally agree that it's a good career choice. From the article: 'To ensure job security, students must learn business, communication and interpersonal skills, Vardi recommended. The personal touch will become as important as technological expertise, he said. "There are jobs galore," agreed Suzanne Bigas, assistant director of the Stanford Computer Forum.'"

19 of 434 comments (clear)

  1. IT = boom and bust by the+eric+conspiracy · · Score: 3, Interesting

    IT is a boom and bust field that will gradually decay in its value as the technologies it is based on mature.

    The business cycle drives investment in IT so it should be regarded as a cyclical industry just the way any capital intensive business is. As growth in IT technologies peter out (Moore's law hockey-stick growth) inevitably flat-lines as technologies hit their limits growth will fall to the same growth as the economy as a whole. Like the railroads, utilities etc.

    If you are 50 or so and are looking to make a career change IT is not a bad choice - it will probably be a sound field for at least the next 10-20 years.

    But for somebody who is just entering college I think that other fields, particularly anything associated with health care are better opportunities. They will surely offer careers with better sustainability than IT.

    1. Re:IT = boom and bust by Alomex · · Score: 2, Interesting

      IT is a boom and bust field that will gradually decay in its value as the technologies it is based on mature.

      Sure it will, but we still have at least another 50 years to go before it has fully matured. Look around you at all the things that aren't yet computerized or are shoddily computerized. This should tell you how much farther we have to go. Things that ought to be fully computerized but aren't:

      Every light switch in your home.

      The microwave oven (you should enter the desired temperature as in lukewarm, warm, hot, boiling, not the time).

      Driving your car.

      Buying your house (enter salary, work place, number of family members, importance of school, yard, etc. computer gives you top three choices).

      Every single piece of paperwork that still involves paper.

      the list goes on and on.

  2. Re:CS Degree = no sunlight by From+A+Far+Away+Land · · Score: 2, Interesting

    Thanks for clarifying. I guess I should have mentioned I have a CS degree but don't currently program in my job. The programmers I know, who I finished school with, ended up going back to school for more, one in software engineering instead. They are both gifted programmers, but couldn't find a job they wanted where they wanted a couple years ago.

    And we'd have a lot fewer crappy websites out there [I'd guess] if more programmers had CS degrees. Not that we should regulate something like that...

  3. What I am doing by br00tus · · Score: 4, Interesting
    I dropped out of college in 1992, began working in IT in 1996, and began going to school at night or on the weekend this year. I got a 4.0 for my class in the spring semester, and so far I have very good grades for the two classes I'm taking now.

    It used to frustrate me that I didn't know how to program C decently but I rectified that starting in 2002. I was going to start by reading The Art of Computer Programming and realized how much MATH there was, and how it would be in assembly, so I did a "shortcut" and read K&R and Code Complete and did things that way. Of course, there are no real shortcuts, and the right way to do it is learning the math and the assembly language and going like that.

    This is just something I want to do. I want to stand around all those code gods and be like them (in the sense of coding and skill, not necessarily everything else). There's the old cypherpunk slogan "Cypherpunks code" and one way of learning to code is to just write code, but I want to have a track where I'm doing it the right way while I'm on the second track of actually writing stuff now.

    I also find biology interesting and may take a minor (or double major) in that. I don't think I'll worry about job security much with a bachelors in Computer Science and Biology. Or even a Masters. Or Phd. I think one step at a time though.

    One thing though is I want to do this. I would do this even if there was no material reward. I think that is something to think about. It would be nice if I could make more money, or get a job doing less braindead stuff, but if all that happened would be that I would know enough to contribute to the Linux kernel, or some free software projects which I like, that would be enough for me. After doing mindless BS wage slave stuff all day, it's nice to go home and do my own work where I can actually do what I want, even if I make no money at it. If I could make a living doing that stuff, so much the better, but I would go crazy if all I did was cog-in-the-machine mindless nonsense all day.

  4. My path by Himring · · Score: 2, Interesting

    I didn't have a clue what I wanted to be. Everything interested me, so I got a B.A. in liberal arts: majored in Eng Lit. Minored in classic Greek. Lots of history/philosophy. Got a full scholarship to grad school and got a masters in philosophy.

    By this point, I thought I would be a professor. The thing is, to support myself I did computer work throughout. I finished my masters to find myself full-time employed in IT. Until I could figure it all out, I kept doing IT work and got promoted twice. I'm now a senior engineer specializing in IT security and regulatory compliance. I wear many hats in the area including policy writing.

    I'm near 40 now and still waiting to find out what I'll be when I grow up....

    Never had a single computer class in my life or received a certificate.

    I enjoy Linux, coding & walks in the park in the evening....

    --
    "All great things are simple & expressed in a single word: freedom, justice, honor, duty, mercy, hope." --Churchill
  5. Re:CS Degree = no sunlight by Anonymous Coward · · Score: 1, Interesting

    "Computing Scientists are not all Programmers. Not all Programmers are Computing Scientists."

    It's precisely this attitude that has destroyed academic Computer Science. I'm currently an academic and it amazes me how little other academics actually know about the practice of programming. If they spent just a few hours a week understanding programming (and hardware systems), their approach to Computer Science would completely change.

    I'm sick of reading through algorithm papers only to find out that the Computer "Scientist" never bothered to see if it actually worked (peer reveiwers rarely ever check the proofs). Or, worse yet, designed it for a system that could never work. /rant

  6. Re:You'll never be able to buy a house by ZeroExistenZ · · Score: 2, Interesting
    . Far too many failed to pay that final invoice- and no business can survive a 50% decrease in revenue in a single month unless you were independantly wealthy going in.

    My programming teacher always warned for this; he uses *always* some sort of timebomb (after a certain period completely de-activating the software) for his clients, certainly when they're known to not pay. After he received his payment for the last bill he sends out a patch, with "minor fixes" while actually removing the timebomb.

    I'm not in a situation where that would apply yet; I'm hired fulltime for a 5-6 yearlong project. But I made a mental note of it, but never thought it would be a common issue for programmers to never get their final cheque.

    --
    I think we can keep recursing like this until someone returns 1
  7. It's possible, just unlikely. by Kadin2048 · · Score: 3, Interesting

    Yeah, and you can become a particle physicist in your spare time too.

    Well actually you can, it's just rather unlikely that anyone would hire you, without the backing of some sort of accredited school saying that you know it. In terms of knowledge, you could know the exact same things, you'd just lack a piece of paper vouching for you.

    There's nothing magic about going to school; colleges these days aren't repositories of secret information, released only once you've sworn an oath of allegiance to the guild lords; you can find out most of what's being taught in any college class by buying the book. (In graduate classes or more participatory classes, it could be harder; but I'm thinking about bachelors-degree physics and mathematics.) In large universities, many classes aren't even taught by professors anyway; just by TA's (slightly more advanced students) reading from someone else's notes or from the book.

    The reason the un-degreed student isn't worth anything, is because most people don't have the attention span or discipline to actually learn that way. Therefore, if you said that you'd spent a few years months sitting in your room, studying particle physics, and done all the experiments with equipment you built yourself in your basement, and now knew as much as someone who'd learned it while studying for a degree, I'd probably not believe you. It's not that it's not possible, it's just not likely.

    Degrees exist because they're a way of verifying that somebody probably knows something, without actually testing them. The more esoteric the subject, the more important the diploma becomes, because it's harder and harder to verify that someone actually knows their stuff.

    --
    "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
  8. Re:Yeah by Morphine007 · · Score: 2, Interesting

    Straight computer science? Well, you'll probably be just a code monkey.

    I'm not sure where you guys all went to school, but it sure wasn't where I'm at.

    All the comp sci guys that I went to school with (including meself eh) ended up being roughly equal parts code monkey and mathematician. Not as good at coding as a software engineer (though some were better...) and not as good at math as a pure math geek (though, again, some were better...)

    Is my university that different, or are people just going by casual observation? I mean, I'm working on my M.Sc. in Comp Sci, and so far it's mostly math that I've been doing... I'm only just starting to build a simulation of what I sketched out mathematically so that I can get some data to analyze, but still, I'm at around 75% research and math, and 25% coding.

    For anyone who cares, I'm trying to find out whether or not the premises behind the design choices of Probabilistic Incremental Program Evolution (PIPE, by Salustowicz and Schmidhuber) hold true in the RoboCup domain.

  9. Re:CS Degree = no sunlight by ChodeMaster · · Score: 4, Interesting
    I think that the more people we have in the software industry with CS degrees, the better. I guess I had better qualify this with the statement that I have no real idea what CS degrees these days are like, I got mine back in '93. There was only 1 software engineering class, the rest was math, hardware/circuits, or programming. I hope that these days they have added more to the curriculum that deals with the process of developing software.
    In answer to your implied question...

    I did a bachelor of engineering in software engineering (finished last year), and I found that a significant portion of the degree was focused on the various processes of software development, including things such as project management (as well as a significant amount of mathematics, electrical engineering, programming and computer science subjects).

    The Comp Sci students I know did a fair amount the software process work also, though somewhat less, and less project management, though this is probably a function of the fact that their degree is a year shorter, and has more electives (they could do some of the extra software process & management subjects the software eng students did as electives).
  10. Re:Please excuse my rant... by dtabraha · · Score: 2, Interesting

    You're absolutely right, and that's a big part of the problem.

    Lots of CS graduates get out of college and don't even know how to do any web, database or network programming all because decades ago somebody decided that learning about whether a program was Turing Complete was more important than having actual usable skills in the world after graduation.

    CS students should first be taught how to program, but universities do a disservice to both the educational and business sector if they fail to stay current on technology.

    No CS student should graduate without these basic skills:
    1 - Programming core (variables, functions, control structures, data structures)
    2 - GUI programming (forms & windows)
    3 - Client server programming (Web pages and PC based)
    4 - Network programming (Programming TCP/IP requests)
    5 - Database programming (Using an ACTUAL database, not teaching what BCNF means!)
    6 - Hardware programming (loading hardware programs onto a board to make something happen)
    7 - Basic computer manipulation skills for multiple OS's (Windows, MacOS, *nix)

    If schools really want to teach computational theory, make it a master's program.

  11. YES! Computer science is great. by Mori+Chu · · Score: 3, Interesting
    Computer science is a wonderful field. If you like algorithms, solving challenging problems, or crunching interesting data, you can find it in this field. You don't have to sit in a cubicle all day, you do get to work with other people, and yes, you can work on real problems that matter in the real world. And, believe it or not, diversity in CS is on the rise; it isn't a white boys' club any more.

    I teach introductory CS at the University of Washington. In our course we scan through the IMDB top 250 movies, examine historical popularity of babies' names, search for codons and amino acids in DNA sequences, parse maps and topological data, compute weather stats, analyze Myers-Briggs personality testing data, and solve other exciting problems.

    Best of all, there are still a ton of great jobs waiting for graduates with computer science degrees at exciting companies. UW's students routinely end up at Google, Amazon, Microsoft, Intel, IBM, Nintendo, and other great places. CS jobs pay great salaries compared to most other fields! Most of the grads I keep in touch with are living very well at a young age.

    Go check out UW's computer science videos on YouTube, which talk about what this field is, and follow several women in our department as they go through a day in their lives at work after graduating:

    http://www.youtube.com/profile?user=UWCSE

  12. It's Great by Apreche · · Score: 4, Interesting

    I have a CS degree. I've got a high paying job. I found out I'm actually being paid way below average for my profession and location. I'm looking for another better job. There are plenty of them available, and they pay a lot. The key to being successful at CS is twofold. One, don't suck. Lots of people get CS degrees, but they actually don't give a crap about software. The people in college who code in their spare time for fun are the ones who succeed. The rest end up handling tech support calls. The second trick is to not insist on living somewhere crappy. You pretty much have to go to a major metropolitan area to get a job. You can't sit in hicksville and complain there aren't any programming jobs.

    One other trick to being successful as a software engineer is to learn technologies in high demand. If you learn Ruby on Rails your chances of finding a hot job are pretty low. You might find work at a startup here and there, but that's about it. If you learn the J2EE platform, relational databases and all the associated stuff you are almost guaranteed to find a high paying job. Go look around on job sites, pretty much everyone is looking for Java Enterprise developers, but the supply is way low.

    --
    The GeekNights podcast is going strong. Listen!
  13. In short? Yes... by Gunfighter · · Score: 2, Interesting

    ... because once you master discrete mathematics, you're {s, e, t}. Careful though, because if you don't pay attention and concentrate on what you're learning, you'll end up with Ø.

    Sorry... couldn't resist. On a more serious note, I started on the BSCS path at Virginia Tech over a decade ago and had to stop a few months into my sophomore year. Now I'm enrolled in ASU's BSCS program after not doing a lick of calculus for 10 years, and the math is kickin' my arse. It's true what they say: if you don't use it, you lose it. My advice for aspiring CS gurus is definitely "stick with it once you start." Picking up the pieces years later to continue your education can be a little mindblowing.

    I'm actually quite comfortable w/ my IT career. I've been self-employed since 2002, and I've done everything from custom programming to network administration and project management. Picking up my CS degree is something I decided to do because I want to do it, not because I need to do it to get a better job. For me, CS is still worth it because I want to take my programming and software engineering skills to the next level. I've been programming since I was 8 years old, and I feel like I've hit a plateau in my programming skillset. The one thing I want to develop from my CS studies is how to put all of the little pieces I've learned over the years together so I can contribute to the development of larger, more complex software projects. Perhaps I'll even try to start cranking out some Linux Kernel modules or something.

    --
    -- Stu

    /. ID under 2,000. I feel old now.
  14. No by bill_kress · · Score: 3, Interesting

    No, it's never been worth it. If you are trying to decide what to do, and think that maybe you'll try programming--just save us all a lot of time and effort and do something else.

    How come you never see people saying "Should I go into Painting", or "Maybe I'll try Music as a career". When it comes to careers that are art, including programming, If you don't KNOW that's what you are going to do, then you're just not going to do it well enough to make anyone happy.

    When you wonder why virtually all software is buggy, full of delays, poorly designed and shoddily implemented--it's generally because someone is doing a job rather than creating art.

    So then this is one of those cases where "if you have to ask, the answer is NO".

  15. Re:You can't code your way out of all problems. by FlyingGuy · · Score: 5, Interesting

    And then there are the rest of us, who write well formated, well structured, well designed code every day, but never went to collage. We did what a LOT of people did in the 80's we picked up a copy of whatever language we could get our hands on and started teaching ourselves.

    We read books, we looked at other peoples code, we experimented. We wrote our own Direct to Video Memory code to avoid the bios screen write functions.

    But now we are in our late 40's and not hip and cool. We don't get hired because we don't have a piece of paper saying we know something, we just have massive amounts of code to back us up, but none of the under 30 hip cool crowd cares about that, its "You got your degree from where?" When I tell them SHK ( school of Hard Knocks ) as a joke and then tell them I am self taught, I get the "We want someone more qualified" What a bunch of horse shit.

    Thats the biggest problem with our society, no one values experience, no one values wisdom gleaned from 25 years of doing the JOB.

    Most of us don't care for the latest and greatest Ruby on Rails or Roads or even a race track. We don't do cutting edge, we do what works, we do it most of the time under budget, ahead of schedule and in code that readable AND commented.

    So we will keep writing code that supports what all you "Latest & Greatest" fan boys think is SO cool, when in fact its the exact same language we built so many years ago, with a cosmetic twist.

    I guess the other thing that is SO fucking depressing is that most CS or even SE grads these days don't have a clue how to create anything unless its spoon fed to them in some object repository. I asked a recent CS graduate if he knew any assembler of ANY flavor. His response was, "Well we had about 2 hours of it and some theory", but other then that all he knew was Java and rudimentary C.

    A pretty sad state of affairs if you ask me. And people wonder why companies outsource.

    --
    Hey KID! Yeah you, get the fuck off my lawn!
  16. I work in IT now... by mattsday · · Score: 4, Interesting

    I did CS and loved it. I loved the MATH (that's what it majorly is), I loved the programming, I loved having long hair and never shaving... I loved the whole degree. It was a fantastic degree and heightened my experience at university doing the stuff I love...

    HOWEVER, who seriously does a degree with the mindset, "This is what I'll do for the rest of my life"? Few I think, especially those looking for a career. I graduated two years ago and my life has taken me out to Amsterdam to work for a large IT company, back to my home (the UK) and I write this now in San José. I'm 23 and I spend most of my time travelling the world. What am I doing? Technical sales...

    It's not math, it's not programming... it's not even software engineering. It's not anything I did at university. The Indian and Chinese guys have that covered here. They're also better at it than I'd be. What I've got was learned in the bars, at the sports clubs and on the phone begging for more money to continue my degree (and buy more beer). That's something you can't teach someone in India to do... How to work with people in the states. This means no disrespect, but someone born in India isn't likely to come to the US and wow with his people, presentation and linguistic skills. Someone born in the UK isn't going to move to the US and understand the local people.

    It's a people-focussed world. Your degree is a ticket. Make it relevent to your overall goals, but focus on the other special experiences university has to offer.

    --
    Now there's one hoopy frood who really knows where his towel is!
  17. Risk, Cyclical, endless Change, Agism by Tablizer · · Score: 2, Interesting

    Whether it is a "good" career or not, there are three features that one must be willing to accept:

    * Risk - It changes, offshores, onshores, downshores, upshores etc. more often than most careers.

    * Cyclical - Generally IT has had a 10-year cycle of boom and bust

    * Change - Things change all time, and one has to spend time to keep up. Factor this into education costs (including time). If you don't like change, skip IT.

    * Agism - Generally age is not rewarded in IT

  18. Why you should study computer science by j.leidner · · Score: 2, Interesting

    > Is it a good idea to go into Computer Science?

    In theory, every science is equally commended, because whatever
    the topic if you study it hard enough you are sharpening your mind.
    It is not so much the facts that are the asset worth acquiring, but
    the methods and transferrable skills: exploration, fostering curiosity,
    systematic learning, absorbing new ideas, exercising dilligence and
    persistence, self-management to meet deadlines.

    Whether you do that in philosophy, law, linguistics, biology or
    computer science is up to what you think is fun and available to you.

    Having said this there are also practical concerns, such as getting
    a job, but in my view you should put your interest first, then success
    will follow. People who go for subjects selected via their "career factor"
    rather than their vocation have less fun and are often second class.

    Computer science _does_ have an advantage over other fields: if you look
    at its definition, it's the study of systematic problem solving. This
    means that you can actually apply the methods you'd be learning in
    your classes very well to real life (how to do efficient shopping,
    how to pick the best insurance offering etc.). Complex problems are everywhere
    nowadays, and who would be better equipped to tackle them than he or she
    who has studied their systematic solution?

    Sometimes I think politicians should be computer scientists or statisticians,
    because most of them were never taught how to _systematically_ solve problems.

    If you decide to go for it, make sure that you focus on data structures,
    algorithm desig and other disciplines as opposed to gathering "IT knowledge"
    because the latter will be outdated soon.