1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Why is Comp Sci such a controversial major?

  1. Nov 4, 2009 #1
    It seems that 50% of the people I know say "Do Comp Sci!!! It is the future and you can't go wrong with it no matter how things look right now." The other 50% say "If you major in CS, you will be driving trucks no matter how good you are. If not, you will definitely get replaced by the time you're 35."

    Why, is computer science such a controversial major in this respect? Should I go with accounting instead for the job security? Can anyone give me an overview of what the career of a programmer/software engineer may be like, and how fast you can expect to be advancing?
  2. jcsd
  3. Nov 4, 2009 #2


    User Avatar
    Science Advisor
    Homework Helper

    Are you asking, is programming a good career or is a CS degree a good way of getting into programming?
  4. Nov 4, 2009 #3
    um... both, I guess??
  5. Nov 4, 2009 #4


    User Avatar
    Science Advisor
    Homework Helper

    Programming as a job isn't bad. Yes a lot of the low end drone jobs have been outsourced to which ever country is cheapest this year but you didn't want one of those anyway, a lot of interesting jobs remain. It's also the easiest field to start your own business in.

    The CS controversy is a little more complicated.

    It's too theoretical, why should I hire somebody who spent 3years learning Modula3, Lisp, Scheme etc when we need a Java app writing now?

    Even the software engineer courses don't cover, teamwork, testing, documentation etc that are needed in the real world.

    On the other hand courses that teach just real world stuff (known as Java schools) turn out people who have only one the equivalent of read learn X in 24hours.

    Then there is the, if you are smart why didn't you do maths/physics/chemistry etc? Anyone can learn to program.
  6. Nov 4, 2009 #5
    First of all, there's not a very strong correlation between your undergraduate major and computer programming. I ended up being a computer programmer, even though my undergrad was physics and I've only taken two computer programming courses in my life. I've known very good computer programmers that started out as real estate agents and aerobics instructors, while at the same time I've known Ph.D. computer scientists that couldn't program their way out of a paper bag.

    Being a computer programmer is a lot like being a novelist. Majoring in English is one way of being a writer, but it's not the only way, and there are English lit Ph.D.'s that would make horrible novelists.
  7. Nov 4, 2009 #6


    User Avatar
    Homework Helper
    Education Advisor
    Gold Member

    Is this supposed controversy real? Avant-garde wrote the question and discussion to start a set of various responses, maybe to find opinions about some of what he mentioned in his initial discussion; Am I correct, avante-garde?

    Too much technological change has been happening for several decades so anyone with a concentration on Computer Science will always need to be learning new things - devices, software, programming languages, different ways to organize information.

    As far as outsourcing to far-away places, any of us should easily understand the value of accessing local people who developed programs which may be in use locally. These local program developers may or may not have degree in Computer Science, but what counts is what the programmer knows how to do, and what else the programmer understands.
  8. Nov 4, 2009 #7
    Then what about becoming a software engineer? Does a CS background give you a significant advantage over other degrees if you want to become a software engineer?

    Or, is "software engineer" just a glorified way of saying "programmer"?
  9. Nov 4, 2009 #8


    User Avatar
    Science Advisor
    Homework Helper

    It's not very well defined, programmer/software engineer/computer scientist in theory mean different things. In practice it's a bit more random and probably depends more on when the course was named and the personal views of the college.
  10. Dec 8, 2009 #9
    Ah, for which one are the barriers to entry lower: Computer Science or Electrical/Computer Engineering?
  11. Dec 8, 2009 #10
    EE/CE require completion of a general first year in Engineering, from there your GPA determines (basically) what discipline you study. So, I would think the "entry barriers" would be lesser for CompSci.

    note: everything I've written is based on my limited experience.
  12. Dec 8, 2009 #11


    User Avatar
    Science Advisor
    Homework Helper

    Depends on the institution.
    In some places CS might require to do the first year of a maths degree while everyone can get into engineering.
    Other places, particularly in countries where 'engineer' is a title, might require much more of a software engineering graduate while CS is just a learn Java in 21days type degree.
  13. Dec 8, 2009 #12
    Just another example of this phenomenon:

    I happen to be fairly knowledgeable about the job market in game development (this used to be my career of choice when I was younger), and this is what I have determined is the best way to get into this industry (as a programmer): have a college degree in a technical subject (CS obviously works, but math, physics, etc. usually also work) and above everything else have an awesome portfolio of programs (preferably related to games) you have written outside of classes. It's this latter part that makes the (game programming) industry more accessible to people who don't have vanilla CS degrees. And a physics or math degree is surprisingly valuable here as well since these are very useful skills to have in game development (physics simulations obviously use both, and computer graphics is all linear algebra).
  14. Dec 8, 2009 #13
    what's a "vanilla CS degree"?
  15. Dec 8, 2009 #14
    I just meant an ordinary computer science degree without any specialization.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook