Slashdot Mirror


Hardware or Software Major?

fa1uzure asks: "Recently, there have been many articles on Slashdot about the lack of people enrolling in IT courses in post-secondary, as well as the need for more people in these areas. Being a Computer Science student, this is great news for me, meaning I may be in demand in the future. But CS at WLU is essentially a software-only course, as it is in many other universities around the world. In most of these articles, it generally says that the IT industry is loosing the new graduates, but it does not specify which area of IT is most at risk. As I move into my second year, I would like to know, are hardware people going to be far more in demand than the software people, or would software still be a better choice than a hardware-centred degree? I could easily transfer to a hardware oriented program but would like to know in which direction the future is moving before I make any choices."

44 of 574 comments (clear)

  1. What's in demand? by alecks · · Score: 5, Insightful

    What if you tried doing what you enjoy and have a passion for, rather than what's in demand. That's why IT so saturated right now.

    1. Re:What's in demand? by Anonymous Coward · · Score: 5, Insightful

      MOD PARENT UP.

      If you're getting a degree to make money, you're going to suck ass and there are enough people in the market right now who suck ass because of this attitude.

      And believe me, as the current market in the US seems to indicate, if you suck ass, it doesn't matter what degree you had, you will have a hard time finding a job eventually. Do what you love, and you will kick ass and take names and regardless of how thin the market gets, you will find yourself in demand. That's the key. Anyone who tells you otherwise hasn't figured life out yet.

    2. Re:What's in demand? by Anonymous Coward · · Score: 5, Insightful

      Actualy, pick the second thing that you have a passion for rather than THE thing that you have a passion for so that when you go home at night you will have something that you enjoy, as opposed to something that you USED to enjoy but are too burnt out of to want to bother...

    3. Re:What's in demand? by rw2 · · Score: 5, Insightful

      That's total bullshit. I know lots of people who do good work in IT as a day job and are happy to be computer free the rest of their lives. They do IT as a job because music, art, flying model planes, camping or whatever their passion really is doesn't pay.

      Now that said, *if* someone has no ability to work on things which aren't interesting to them then they will suck at IT. But there are literally millions of people doing jobs they don't particularly enjoy with a high degree of skill becuase they can make a living at those jobs and fund their real passion.

    4. Re:What's in demand? by Anonymous Coward · · Score: 3, Insightful

      I've known two english majors who were both execellent IT types. I've known CS majors who couldn't pull their heads from their a$$es. If you don't like your job, you wont be successful at it. Better to be a happy bookstore clerk than a miserable EE working 100 hours a week and hating every minute of it.

    5. Re:What's in demand? by ducttapekz · · Score: 2, Insightful

      The industry doesn't need more people. It does need more smart people. That doesn't mean college educated people because college just makes you marketable. Finish college, but don't enter the industry unless you are smart.

    6. Re:What's in demand? by Darth_Burrito · · Score: 4, Insightful

      That's total bullshit.

      Bah, maybe it's more like 10% bullshit. I've known plenty of disinterested 9-5ers that sucked, but I'm not sure I've ever met someone with a passion for IT that sucked at it relative to their peers. It's not a hard rule that you can't be good at something you don't like, but generally speaking, the more you like something, the more likely it is you'll be good at it.

      Sure, a high wage might make you like doing something more. And this might motivate you to perform better. But the person who already likes what they are doing requires less motivation and less pay. Similarly, a person who likes what they are doing is going to be more motivated given the same pay.

      Basically, in field like computer whatever that requires perpetual learning, the person who spends time learning in their spare time is going to be much better than the person who never turns on their computer at home. The only way this will not be true is if the disinterested person is, in some way, a lot smarter than the other person.

  2. Wrong criteria by Anonymous Coward · · Score: 5, Insightful

    You shouldn't be basing your study and career on what might or might not be most in demand in 3 years time. You should just do what you enjoy.

  3. Easy. by StevenHenderson · · Score: 2, Insightful

    Hardware. Tougher to outsource, more jobs out there that pay well. Unless you are prepared to accept a second-tier IT job, or unless you are REALLY good with software, I'd recommend an EE or ECE degree. It got me a job with a major corporation, and I didn't go to a big school at all.

    1. Re:Easy. by dattaway · · Score: 2, Insightful

      Not only will a hardware job pay higher, it gives a person more freedom to play with the software side. Most hardware needs software, so anything extra beyond the job classification is the added touch.

      And if the hardware job fails, there's always another industrial job that uses electricity. So many electrical career opportunities at home that requires help. This is the stuff that can't be exported over TCP/IP.

  4. Don't choose, do both by Anonymous Coward · · Score: 1, Insightful

    I would recommend trying to get as much experience in both fields as possible. Either major is CS and take as many EE classes as possible, or the other way around. I majored in CS, and after school was able to get a job doing embedded development (new software design for a new hardware board), which allowed me to get some hardware experience. That breadth of experience helped me get my current job (which I love). Don't specialize, it limits your opporunities.

  5. Re:There are 3 things to consider in a degree... by matt_king · · Score: 5, Insightful

    As someone who switched from EE to CS, take my advice: do what you enjoy. I could have easily(relatively speaking) gotten my EE degree, but I didn't enjoy that type of work as much as I do designing software. You only live once; so do something you enjoy rather than something that is going to pay you more money.

  6. My experience by binaryDigit · · Score: 2, Insightful

    Let me state this, I've either worked with or have seen (usually via resume) a large number of hardware guys who have moved over to software. I know of exactly 0 who have done the reverse. FWIW I've been in the industry for over 20 years. Of course, "software" and "hardware" are very vague terms. I wouldn't for instance recommend focusing too much on web only development, as these folks are plentiful and generally (I said generally) not paid as well. And for hardware, are you talking about being a typical corp IT guy, slinging pc's together and plugging in network cables, or are you talking about someone who designs IC's. Both hardware, but vastly different.

    Bottom line is that there will always be demand for both, right now (and for the near term), software seems to be the safer/"easier" bet. Most important, is to pick your choice in either domain wisely.

  7. Which one do you like? by ibpooks · · Score: 4, Insightful

    Do whichever one you like more. If you try to choose a major based on the future job market, you will be forever chasing a carrot on a string. Take a course or two from each discipline and decide which one feels better and which one you understand more intuitively.

  8. Forget Demand, do what you love best by serutan · · Score: 4, Insightful

    Do what makes you happiest and you'll get a job. Don't worry about it. The employment winds may blow back and forth to some extent, but you'll be fine. If you wish you had done one thing but you did the other because of where you thought the economy was going, you'll always regret it.

  9. Computers ain't everything by fm6 · · Score: 4, Insightful
    ...the IT industry is loosing the new graduates...
    I usually sneer at Slashdot Language Nazis, but with your little error (losing, not loosing), you inadvertantly make an important point: there's more to your education than picking up specific job skills. Whether you study hardware or software, any technology you learn about will be obsolete in a decade or so. Other stuff will last you all your life: language skills (yeah, grammar and spelling rules are arbitrary and stupid, but knowing them helps you sound like less of a pissant), communication skills, general knowledge of history and culture. Don't forget critical thinking skills, which you can acquire by studying a lot of subjects like history and philosophy that don't seem to teach anything you need to know.

    Most of all, you need to learn about learning. 'Cause a techie can't afford to ever stop doing that.

  10. Ratios by tearmeapart · · Score: 2, Insightful

    A BSD kernel programmer and I agreed on this ratio quite a few years back:

    1 Hardcore hardware guy (designing CPUs and other advanced stuff)
    for every
    10 Softcore hardware guys (designing the small stuff)
    for every
    10 Hardcore kernel/driver guys (your Linus')
    for every
    100 Hardcore application guys (doing X, GNOME, KDE, Windows, etc)
    for every
    1000 Softcore application guys (doing OpenOffice, MS Office, PhotoShop, GIMP, etc.)
    for every
    10000 little shareware application guys (doing BitTorrent, those little games like Bastard Tetris, plugins for IDEs)
    for every
    100000 web programmers (doing myfirsthomepage.com).

    The money is at the hardware side, but it is easier to get a degree and secure a low paying job at the web end.
    i am lazy, so i am at the web end, but i spend my free time with my BSD/Linux/Minux/LSD kernel hybrids.

  11. Hardware Major != IT Major by Anonymous Coward · · Score: 1, Insightful

    As a Computer Systems Engineering major I'll tell you right now that if you are associating 'Hardware' jobs with 'IT' jobs you are just plain incorrect. 'Hardware' jobs include DSP, VHDL, VLSI, etc. These are all very specalized jobs and they are the jobs that pay lots of money, but be prepared to work your butt of in order to do well in one of these fields. As far as 'Hardware' jobs being equated to Systems Engineering jobs, that isn't really the case nowadays. Many universities now offer Systems Engineering degrees. Hardware/Systems Eng jobs pay good money and are always in high demand, IT jobs tend to fluxuate a lot more.

  12. Engineering/QA by Anonymous Coward · · Score: 1, Insightful

    Engineering/QA. I mean both, not either. Where I live there are very few software engineers that understand QA, and even fewer testers that understand software development. If you can show you know both you are worth your weight in gold.

    I'm only 2 years out of school, and working as a Software Test Engineer I make about 25% more than our software engineers that have 5-6 years of experience. Also, if you work in a highly regulated industry (medical in my case) a firm grasp of QA is essential.

  13. Re:There are 3 things to consider in a degree... by Nos. · · Score: 5, Insightful

    Ignore the grandparent and mod the parent of this post up. Don't go to school for something that will be in demand in three or four years (presumably when you graduate). Things can change faster than you can complete schooling. Decide what you *want* to do for a living (within reason) and get educated for that. Certain areas of the world are in demand for almost every profession. If you're willing to relocate, you'll find a job.

    I really liked working with computers and ended up taking a generic CS course (there were't a lot of "specialty" degrees in the early 90s. I spent most of my time in school learning system and network administration. Now I spend more of my time doing software development because I enjoy it a lot more. You'll enjoy life and your job a lot more if you enjoy the work. Salary is not everything. On more than one occasion I've moved to lower paying jobs because the work would be more enjoyable.

  14. No crystal balls by overshoot · · Score: 2, Insightful
    As I move into my second year, I would like to know, are hardware people going to be far more in demand than the software people, or would software still be a better choice than a hardware-centred degree?

    If I had the answer to that question, I wouldn't be worrying so much about where the money will come from for my own kids' college.

    Background: I have a BSCS, an extra 40+ hours of physics and EE, and I'm currently working as a circuit design engineer. Go figure.

    As for advice, I'll give you the same advice my own kids got from the faculties at three different universities in CS, EE, and Physics: You can never get too much maths or physics. From my own experience of more than 30 years in electronics, the basics are what last. Anything else you learn as needed.

    So, FWIW, one of the boys is finishing his junior year as a dual-major EE and physics (with a maths minor), the other is wrapping up sophomore year as CS and physics. Make of all that what you will.

    --
    Lacking <sarcasm> tags, /. substitutes moderation as "Troll."
  15. Assuming you are a genius... by Minna+Kirai · · Score: 3, Insightful

    Assuming you are a genius, or at least highly intelligent, then you can teach yourself software CS alone in your home for just $300 worth of textbooks.

    To properly learn hardware CE, on the other hand, requires both bulky, expensive lab equipment (or emulators and CAD that are merely expensive), and more importantly, mentoring from someone already in the field. Because of the Free Software movement, there are many professional-level software projects whose development process and changing source code are open for public view, so you can watch and learn whenever you like.

    Hands-on experience with hardware design can't be plucked off the internet for free like that, so it's a better way to invest your tuition penny.

  16. Software, System Administration & Business Adm by pvxhound · · Score: 2, Insightful

    What is in demand is people who can do both technical skills well and have a clue re business. It is very difficult to learn both programming and system administration and have a life unless you get it while in school.

    Once you are in the door tweaking the servers or networks of a small business, they frequently think you can program web sites and do modifications to their accounting systems. With business administration, you can also sell & support accounting packages which keep the calls coming.

    3: Profit

    Good Luck

  17. I'll give you the advice I gave others by Hangtime · · Score: 4, Insightful

    I just taught a class back at my college last week. I recommended to everyone
    A. Do what you love. -That doesn't seem to be much of a problem anymore. I graduated in 2001 and only the ones who are hard-core seem to be left.

    B. Make sure you know the business. Yes, many jobs are being outsourced but those jobs that are being outsourced belong to very large conglomerates who can afford to spend six months to spec out an application and then turn it over to a Bangalore firm. This is not the case for SME (Small Medium Enterprises). These firms are not set up for this type of development and you can make a good living working for and consulting for these firms.

    Good Luck and do what you love i.e. if you like Philosophy and your Comp Sci go over and get your Philosophy degree.

  18. Re:You can always change your mind later by Anonymous Coward · · Score: 1, Insightful

    Right, but look at what you've just said... and EE can switch to software quite easily, but it's more difficult for a CS to switch to hardware.

    Besides, CS is NOT engineering. If I was hiring a person to write software for a critical piece of equipment, I'd always choose a CE or EE over a CS guy any day. Engineers are very depressing people who can instantly tell you 5 dozen ways the thing is going to fail, and that's what makes them write better quality software than CS guys. I do admit, that the engineer's software won't be as efficient, and it will take him 3 times longer to write it, but it will have fewer bugs.

  19. Computer Engineering by Ahkorishaan · · Score: 2, Insightful

    I'm a Computer Engineering major at the University of Hartford, this is the best major out there as I see it when it comes to the IT industry. I'm a second year student, currently in 2 circuit design labs, I've taken physics 1 and 2, I need a rather minimal amount of boring theory/math classes in comparison to the other Engineering majors. I only have to go up to Differential Equations. It's a pretty sweet deal. Though I'll likely tack on Linear Algebra, because it's generally a useful one to have.

    In addition to the circuits classes I'll also have training in both Java and C++, and access to any upper level CS or ECE I care to take in order to focus my career path. The major is big on choice, the second half of my junior year and my entire senior year is all electives in the CS or ECE feilds. Personall I'm also getting a degree in Professional and Technical writing, through my university's dual degree program, as well as minoring in German.

    I'm think my electives will go something along the lines of Operating Systems, Advanced Microprocessor design, Thermodynamics, and Advanced VLSI design, and courses along that vein. I'm going to be hardware focused primarily, but I like linux and would like to learn more about Operating system design, so i can add to the kernel someday.

    I think this is the major that will get me the farthest, I may not be as focused into EE as an actual EE major, but my electives can more or less make up for it, and I'll probably still eb able to get a job in microprocesors.

    --
    Please, try not to sound so stupid...
  20. Re:Spelling in English by fm6 · · Score: 2, Insightful

    Well, yeah, English has a complicated history, so the "official" rules end up being inconsistent, strange, and even stupid. Most languages are much saner. But so what? Whining about the problems of learning "proper" English doesn't change the cost of not learning it.

  21. Re:There are 3 things to consider in a degree... by lucabrasi999 · · Score: 2, Insightful

    In all honesty, I hated getting my Master's degree. It was a painful experience (because I thought it was a waste of money). In the end, I am glad I did it.

    Why? Because if all you want is a contracting position, where you do exactly what your manager tells you to do, then get a certificate of some sort. If you want to be involved in the decision making process, then, at the minimum, you need an undergrad degree. If you want to be targeted for PHB positions early on in your career, get a graduate degree.

  22. Re:Honestly... by shrinkwrap · · Score: 3, Insightful
    As someone who wrote his first FORTRAN program in 1968, I'd say your decision only matters in the short term, because all the careers that are *interesting* haven't been invented yet!

    In 1968, there was no C, definitely no C++ or C#. There was no worldwide web, not even a glimmer of an internet. Hardware consisted of an IBM or Burroughs mainframe hidden in the bowels of the administration building, and you used a card punch to 'write' your programs, which you then submitted to the 'high priestesses' aka data clerks to read... and hopefully not drop on the floor!

    Prepare yourself to *think*, to be creative, to be adaptable, and you will be successful.

    P.S. - I never took another programming course after that one FORTRAN course in 1968... and now I make $200+/hr designing/writing software in languages that didn't even exist then!

  23. Re:There are 3 things to consider in a degree... by COMON$ · · Score: 2, Insightful
    I have a CS degree and have been in the IT world for a while. What I have discovered is that there is a large quantity of business/psych/pick your degree people who were ushered into becoming the computer person during the .com boom. Problem is a lot of these people need to be taken to courses, certified, re-trained every couple years. (on a side note I have found that physics and math majors who were ushered in do not have much problem evolving with new tech).

    CS people however evolve rather seamlessly as basic hardware and software has not changed all that much in the last 30 years. Just more efficient uses of existing tech. As a CS personel I can look at a new device and think, "well its about time we got something like that" and pick it up. Other majors or Paper MCSE's tend to look at new tech and scratch their heads going "ummmmm, when do I get trained for that?". NT, UNIX, doesnt matter, give me a little while with google and a standard primer and I am on my way.

    Long advice short. Get a Basic Degree in the area you want to work in, CS, Math, Physics. Dont specify in college but cover your bases so you have a good foundation to work off of. There arent enough people who know the basics. It is just easier to get a MCSE rather than learn to program and create circuitry.

    --
    CS: It is all sink or swim...oh and did I mention there are sharks in that water?
  24. Wrong Field. Wrong Direction. by $criptah · · Score: 2, Insightful

    If you want to make a good and stable living, CS is definitely a wrong field to be in. Our inside sales guys make more money that seasoned developers. That's a fact. Therefore, shoot for something with business background or get your degree and then an MBA later on.

    Hardware and software is a stupid debate, especially when it comes to money. When a hardware shop in my area went down, guys with hardware backgrounds were dime a dozen and nobody wanted them. When times were good, they were paid fairly well. Catching the market is hard. As somebody pointed out, if all of us knew what was going to happen, nobody would lose money on stocks. What you want to do is the following: learn something that you like and then tag a some other degree on top of that in order to be more marketable. Currently, I am looking at an MBA or a degree in economics. At least I will be able to do something on a business side if things flop with CS.

    Also, whatever you do, make sure that you're close to your customers. Jobs that involve face-to-face customer interaction or high-end client support (not talking about "My Dell is broken!") will tend to be here as long as businesses exist. The unemployment rate for sales oriented professionals remains fairly low compared to fields such as engineering. Then it is all up to you.

  25. Re:Agreed. by philwx · · Score: 5, Insightful

    When I was at Stanford, I had the same decision to make. I wanted a dual major in Physics and something useful, so I had to make a choice: EE or CS? In the end, I found that the challenges of EE were better suited to my interests and that I could learn as much CS as I'd ever need on my own. I was more interested in the sort of high end problem domains you see in processor design and such. I was not so interested in the sorts of semi-skilled professions of coding and systems administrations. I wanted to unlock the secrets of the universe! I still haven't gotten around to that part, but I am doing work in the field I love and that's what's important.

    Are you for real? Computer science is no more "semi-skilled coding" than Electrical Engineering is "I can make my own PC from parts I buy online."

    That was a pretty ignorant statement. The skillsets overlap too, a lot of mathematical theory is used in both, and much of it is identical.

    I can summarize this whole thread, coneheaded EE people will say EE, coneheaded CS people with say CS, and the smartest ones have already said do what *you* like.

  26. Neither by NitsujTPU · · Score: 2, Insightful

    You seem to be confused about what Computer Science is.

    Computer Science is not IT. Computer Science is Computer Science. If you want to learn how to write software, then Computer Science is probably the right major.

    If you want to learn how to develop hardware, then either Computer Engineering or Electical Engineering are right for you, depending on what you mean by hardware... IE, if you like digital logic, Computer Engineering. If you like motors and switches, probably Electrical Engineering.

    A number of schools Computer and Information Science programs focus on IT aspects. Information Science is generally different from this, and focusses on... User Interfaces, Natural Language, the structure of information... So forth.

    Essentially, if you're looking to become an IT guy by getting a Computer Science degree, you're really looking in the wrong place. If you're looking to cut IT into Hardware vs Software, you'll probably find that "Both" is what your employer will be expecting.

    There is no shortage of IT workers. Stop listening to propaganda from companies who want to justify going overseas. Outsourcing is about undercutting prices, not finding qualified people.

  27. bad question by uncadonna · · Score: 5, Insightful

    I dislike the question intensely. Let me give the boomer answer, since nobody else has.

    Study what you are interested in. Do what will make you happy. If money is the thing that will make you happy pick a third option like sales or bank management or plastic surgery.

    If you are making a strategy in quest of money by being an IT professional for some foolish reason, you will likely be abused, and likely disappointed too.

    If you don't love some aspect of computing for itself, you will probably not succeed in it. Certainly there are easier and more reliable ways to make more money.

    Figure out what you can do for the world and set out to do it. If you're smart enough to get into a CS or EE program you are smart enough to avoid starving while doing what you want to do. If that's CS or EE or boatbuilding or macrame or whatever, just do that, and figure out how to get paid for it as you go.

    If you don't know what you like, drop out for a year or two and figure it out.

    A hundred years of prosperity and we get slave mentality questions like this. Dammit, in the standards of human history you'll be a rich bastard if you manage to get a job at the Quickie Mart.

    Relax, do the right thing, pull your weight in the world, and stop being so hung up on money.

    Life is the cake, money is just icing, and far too many people end up with too much icing and not enough cake.

    --
    mt
  28. Urgh! Mod this guy up by Anonymous Coward · · Score: 1, Insightful

    I couldn't agree more with the above poster. I
    f***** hate the majority of "computer" people. They are about
    the most shallow, narrow-minded people you'll ever encounter.
    The stereotypes are true, especially on Slashdot.
    Whatever you do in college, go there to get "educated." Make sure your degree is well-rounded.
    Learn history. Learn to spell. Too many idiots here type "it's" for "its" and do other annoying behaviors that normal educated people don't do.
    Your job will be outsourced. Mine did, now I fix cars. So forget the money. Do what you like. But
    please, get a well-rounded education. Don't graduate college
    without the ability to speak English correctly, spell, and find at least fifty countries on the map (and hopefully know a little bit of their histories).

  29. Traditional majors are CS and EE by geekee · · Score: 2, Insightful

    Traditionally, you either major in CS, and study abstract principles of computing, or you major in elctrical engineering, where you learn semiconductors, circuits, and have electives that can be applied to digital technology if you wish. Some schools offer hybrids of the two, but there is no standardized degree that I am aware of. Anyway, school is for learning fundamentals, not the latest IEEE spec or how to program in Java.

    --
    Vote for Pedro
  30. Re:Change majors or double major by Anonymous Coward · · Score: 2, Insightful

    Seriouly, do yourself and your career a favor. Double major in another field, such as business, marketing, etc. It will probably pay off more then a degree in CS. I know I wish I would have had someone tell me that before I graduated a few years ago. Unless that is you want to stay in the academic or research field.

    This is why the US has such a low graduation rate of engineers - there is this ingrained misconception that there is no future in IT and the glamorous jobs are in marketing and sales.

    The US is in danger of falling behind Asia and India unless we change our attitudes towards engineering positions. There are plenty of good job opportunties for qualified IT majors - don't let people tell you otherwise.

  31. Re:Agreed. by mikael · · Score: 2, Insightful

    He probably means that most application programming is simply connecting widgets together without much care about optimisation, plus writing scripts, with system administration simply involving going through menu systems at a high level.

    While designing an ASIC chip/circuit board is going to require low-level programming and a great deal of thought into optimisation and timing.

    --
    Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
  32. Re:There are 3 things to consider in a degree... by Anonymous Coward · · Score: 1, Insightful

    You forget that most CS people don't understand the hardware what-so-ever, only enough to put together a PC. Digital design is a lot like programming, a large focus on logic and design. It forces you to improve your skills, which are transferable. Also, by better grasping how a computer works, you work better with it.

  33. Re:There are 3 things to consider in a degree... by demachina · · Score: 3, Insightful

    I'm willing to bet that unless you are willing to work in the defense industry designing hardware is not going to be a great career in the U.S. Designing CPU's and GPU's might last in the U.S. somewhat longer since they are still somewhat entrenched in the U.S. but designing just about everything else electronic has already moved to Asia, Taiwan in particular and now China, and is unlikely to return.

    God only knows how much software development will survive in the U.S. There will probably be some bastions like Google, Microsoft and Adobe in the U.S. and there will be lots of grinding out in house custom stuff for big corporations. The latter pays bills but otherwise isn't exactly satisfying. Places like Microsoft, Cisco and SUN are already off shoring a lot of work to China and India.

    Unfortunately there are a lot of factors working against the U.S. staying a leader in software development, cost of living, healthcare and labor is to high compared to India, China and Eastern Europe, the education system in the U.S. is generally bad, Americans are not for the most part disciplined or hungry any more, they've had it to easy to long like most affluent empires headed for decline. The U.S. has maintained a lot of its vitality by importing talent from around the world but since 9/11 that talent is increasingly not coming to the U.S. or being turned away by an out of control visa bureaucracy(though if you are an indigent worker and want to swim the Rio Grande the border is wide open.

    I wager a lot of bright, well educated people from around the world probably don't want to move to a country dominated by right wingers, intolerants and Christian fundamentalists with a blood thirsty penchant for wars. There also used to be no economic opportunity in places like India and China so the brightest flocked to the U.S. where the money way. But most smart people in those places know there is more economic opportunity in China and India than the U.S. these days. A lot of China expats have been flocking home to China to cash on the gold rush there as long as they can stand the government.

    As a footnote I would add a personal opinion, software development is probably better than working in a factory, and I love doing it for fun, but fact is unless you are working on a good team on software you love and you have a stake in its success its actually not that great a career, especially now that the get rich quick for doing nothing opportunities are drying up. There is a real tendency to 80 hour a week death marches for which you are getting paid for 40, insane schedules, slogging through bug queues, and watching insane marketing and management types do insane things. And of course there is the top rank of executives who loot all the profits for the multimillion dollar compensation packages and lay people off at the drop of a hat, often to compensate for their grievous management mistakes.

    So in summary if you want to work in the U.S. business administration is hands down the best career choice if you have what it takes to climb your way to the top, so hone your golf game and barroom and B.S. skills and climb, climb, climb. Might be a good idea to join the Young Republicans, the right church, the best frat and if you have some spare cash start donating to Republican candidates. They politicians that control a huge percentage of the U.S. economy really do look at that FEC database of campaign contributions and reward those who give them money (reference all the cell phone people recently bounced from a communication panel because they bet on the wrong horse).

    If you have what it takes to cross the threshold in to upper management you will do very well whether you have a clue or not. If you are bright and have a better idea like the founders of Google you can get rich to but it is way harder than just B.S.ing your way in to the ranks of the executive elite.

    --
    @de_machina
  34. Re:Agreed. by PooR_IndiaN · · Score: 2, Insightful



    First of all, System administration does NOT simply involve going thru menu systems at whatever level, contrary to popular belief. Secondly, we are talking Software vs. Hardware. Not App Programming with widgets and forms (The hardware equivalent of soldering on a capacitor). Look into the internals of any OS(Take Linux as an example), and tell me if you can say, "Well, This part does this and oh, Yeah, That does that!".

  35. Re:Agreed. by philwx · · Score: 3, Insightful

    Based on my experience, unless you're doing research, games, compilers, or the like (think MS Research or Google), you may end up (as a CS major) doing software engineering that's not that technically demanding in the sense of putting your math to work. Although architecting non-technical large applications is a challenge, it's not generally the challenge that requires proofs and development of new or specialized algorithms.

    Engineers don't sit around making up new algorithms all day either. It's the application of existing algorithms which dominates CS and EE fields, really.

    My observation is that there is a lot of uninformed bashing going on here, that is all. I'm not going to get into the "which is better" argument because it depends entirely on what you want to do.

    Also, diversifying with a minor or two is fairly common. I'm specializing in business writing (English minor), but didn't think it was significant enough to bring up earlier. I'm interested in a lot of thing besides just CS.

    Realistically, success is determined by what the individual makes of their degree, not which degree they choose. In order to make something out of a degree, having an interest in it is a pretty darn good idea.

  36. Re:Agreed. by torokun · · Score: 2, Insightful

    My point is only that ... well, 2 things.

    1. It's good to diversify - you agree.

    2. You can't always 'make' something of your degree if the market sucks. You have to at least consider things from a practical angle, and stretch/diversify towards what seems to be the best angle considering all these factors.

  37. happiness by negative.logic · · Score: 2, Insightful

    I know this has been said quite a bit, but do what makes you happy, not what makes you the most money. You don't want to force your way through a college program you hate and end up in a boring job you hate just because you make loads of cash. The rest of your life will suffer.

    But as far as the hardware/software question, learn about hardware. You can always pick up programming in your spare time.