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."
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.
The Digital Couture Collection
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.
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.
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.
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.
Most of all, you need to learn about learning. 'Cause a techie can't afford to ever stop doing that.
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.
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.
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.
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!
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.
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
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
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.