Computer Science Major? Discussion of Major and Outlook of Jobs in 2011

Discussion in 'Programming and Homework Questions' started by postman, Nov 29, 2011.

Thread Status:
Not open for further replies.
  1. postman

    postman Notebook Guru

    Reputations:
    0
    Messages:
    69
    Likes Received:
    0
    Trophy Points:
    15
    Hey guys Im currently not enrolled and was just wondering if Computer Science was right for me. Is it a hard major? Does it get harder or easier as you get closer to finishing the degree? Also in this economy will there be enough jobs available for this major? thoughts, comments, opinions are suggested. Thanks.
     
  2. notyou

    notyou Notebook Deity

    Reputations:
    652
    Messages:
    1,563
    Likes Received:
    0
    Trophy Points:
    55
    That depends, do you love technology and probably more importantly, problem solving? If so, it's not really that difficult.

    See above. I found it got easier for me when I started my third year because I had more choice regarding the classes I wanted to take because I found them interesting rather than having to take them because they were required. I've even found this year the easiest so far even though I have the most work to do because I love the field so much.

    While I still am technically in school (Master's now), I haven't/shouldn't have problems finding a job (already lined something up for next semester, part time), but that has more to do with my resume and co-op work experience from university. But this would also vary based on where you are. I mean, there really wouldn't be any software engineer positions in Antarctica no matter how good you are.
     
  3. Thaenatos

    Thaenatos Zero Cool

    Reputations:
    1,566
    Messages:
    5,335
    Likes Received:
    111
    Trophy Points:
    231
    A degrees "hard" factor depends on you mostly. If you are a natural at math and problem solving then it might be easier (not easy) for you then for others. As for jobs well that depends on where you plan to settle down. My area still has a good amount of jobs but most cs related are mid to high level jobs that require post college experience. But that is the same for all fields it seems.
     
  4. redrazor11

    redrazor11 Formerly waterwizard11

    Reputations:
    771
    Messages:
    1,315
    Likes Received:
    0
    Trophy Points:
    55
    No, but with the nature of software development, you could go on vacation to Antarctica and create a few tools during the trip (considering your fingers don't freeze...or you can type in gloves lol).

    It's a fairly flexible major I would say. Sure you can try to work for a big-wig like Apple, or Microsoft....but even small shops still need software/websites and databases. So there's always something for us, less adept developers (or people who actually want a life outside of programming lol).
     
  5. notyou

    notyou Notebook Deity

    Reputations:
    652
    Messages:
    1,563
    Likes Received:
    0
    Trophy Points:
    55
    Right, but generally (unless you manage to get in with a Co-op program to expand your horizons or something similar) you stay relatively close to where you live. For example, Winnipeg has some software development but it's nothing compared to the west coast. But in order to be able to move out there you need to get a foot in with some company otherwise you take a big risk by moving without a definite job.
     
  6. tiko2020

    tiko2020 Notebook Consultant

    Reputations:
    91
    Messages:
    130
    Likes Received:
    0
    Trophy Points:
    30
    I have a computer science major and never had a problem to find a job. I am very passionate about this major so I will be bit biased.

    You can make a self-check, ask yourself if you enjoy programming (I assume you had some classes during your school). You do not have to be a rocket mathematician to be good in computer science, there are many sub-fields (e.g. Software Engineering) that does not require any math.

    What I've learned through my career that to get more job opportunities you need to have in-depth knowledge about 1 or 2 hot technologies and up-to-date knowledge about other things. In short, always learn and update yourself and you can easily find jobs.
     
  7. postman

    postman Notebook Guru

    Reputations:
    0
    Messages:
    69
    Likes Received:
    0
    Trophy Points:
    15
    Problem Solving isnt the easiest thing but I am quite interested in it and certain Mathematics. I do realize that part of CS teaches you to think like a programmer which involves alot of logical thinking, problemsolving and some Math.

    I pretty much plan on staying either in NY or going to Cali (never been there) but I guess going to Cali is like entering a goldmine for CS/IT jobs.

    ha applying to those big elite techs are like applying to the ivies or something

    I pretty much enjoy programming I do know some labs take hrs even weeks to complete and although it seems tedious I kind of enjoy it. They say that by the time you graduate half the stuff you learned is already outdated.
     
  8. Geekz

    Geekz Notebook Deity

    Reputations:
    613
    Messages:
    974
    Likes Received:
    2
    Trophy Points:
    31
    True that half the stuff you learned is already outdated, but the purpose of college is to teach you the basics and more about the general concepts.

    technology moves so as a programmer it will always be constant learning, specially on the kind of company you'd work for.

    ex. I used to work for a software development firm that's partnered with Microsoft so when Sharepoint 2003 was released me as a programmer had to study the ins and outs of the product to be able to code alongside it, then came sharepoint 2007, the latest .net framework etc...

    that means, relearning new tools, new skillsets, some would take certification exams just to stay competitive in the field.
     
  9. ThinkRob

    ThinkRob Notebook Deity

    Reputations:
    1,006
    Messages:
    1,343
    Likes Received:
    2
    Trophy Points:
    56
    I'm going to throw out a dissenting opinion here, and say that if that's the case then your school probably didn't have a very good CS program.

    The most valuable information in a CS program is not the practical "here's how you build a $foo using $language + $framework". It's the methodology and the theory. Learning what a skip list is and why you might use it is far more important that learning how to implement it in Java or C or Ruby or whatever the trendy language is at the moment. Graph theory is invaluable, and even if all of your lectures used examples in C or pseudocode, you may still find yourself using it whether you're programming in Java or assembly.

    Even the more practical courses, such as operating system design and implementation shouldn't be "already outdated" -- or at least most of the important stuff won't be. The paging model of x86 hasn't changed much in 20+ years. It isn't gonna change much in the four years it takes you to get a degree in CS. The concepts of privilege rings, the goals of memory allocation, even the basics principles used in most filesystems -- the implementations change over time, but most of the concepts are quite old indeed. Sure, Java might conceivably fall out of fashion by the time you graduate (unlikely, but bear with me), but the software engineering skills that you use to design and implement the solutions to your assignments should be applicable to most any other OO language.

    And then there's the rest of the stuff like formal logic, information theory, etc. That stuff isn't going to be outdated any time soon. Merge sort was invented in the 40s, but it's still implemented by students the world round as part of their practicals even today.

    That's not to say that you can rest on your laurels. Obviously in order to be an attractive candidate you'll have to learn various frameworks, languages, etc. But doing that is much, much easier if you have the theory down pat. If you lack the theory, you may find yourself slipping into a pattern of depending on rote memorization to "learn" a language, and that dooms you to a future of "copy, paste, and hack 'til it works". As someone who's worked on plenty of code produced by that approach, trust me when I say that is *not* what you want.

    If you study Computer Science, most of the really important stuff won't be outdated for a long time. If you take a course or two in "Programming", if you attend a school focused on producing job candidates instead of computer scientists, or if you try to learn the practical bits without the underlying concepts, you'll find the battle to stay current is much, much harder.

    Just my 0.02f cents. ;)
     
  10. Kyle

    Kyle JVC SZ2000 Dual-Driver Headphones

    Reputations:
    1,700
    Messages:
    810
    Likes Received:
    286
    Trophy Points:
    76

    *Googles skip lists and privilege rings*

    Thanks, ThinkRob, any other data structures/concepts that should be should be known?
     
Loading...
Thread Status:
Not open for further replies.

Share This Page