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.
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.
I think its important to differentiate between
(which IMO) is something you can easily do without a degree - How many 'PC World' backroom employees do you think have one?
- Saying IT/Hardware and meaning 'electronics/pcb design/embedded systems', which like I've already pointed out is more 'electronics' than CS.
<Before someone states the obviousWindows in 6 Bytes (IA-32) : 90 90 90 90 CD 19
A koan: If your answer isn't "yes", the answer is "neither". If your answer is "yes", the answer is "mu".
...it generally says that the IT industry is loosing the new graduates
I'd recommend you take an English course instead.
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.
Pick the one you enjoy, and the one for which you have an aptitude. And hedge your bets by not overspecializing.
If you wanted to be an astronaut or a professional athlete or an opera singer, serious calculation of your prospects would be in order, but there will be a demand for both hardware and software for the rest of your lifetime, and no one can tell you which will be a better bet. People who listened to "Get into ___ because of the looming shortage of ___!" always seem to regret it.
What I'm listening to now on Pandora...
You are not addressing his question, did you mean hard- or soft-core?
Rock that crushes, Paper & Scissors that don't matter.
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.
Maybe you could instead try going to better school.
Sorry, that did come off as being massively snobbish.
What I mean is that, really, hardware or software is not the question you should be asking.
What you're interested in personally and the calibre of the education you get and of your peers are going to be way more important than the degree to which you follow industry trends.
Please.
Software guys get to run the register. Hardware guys are stuck on the fryer.
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.
You should major in Hindi.
There are 2 kinds of people in this world. Those that can keep their train of thought,
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.
but what i really love is rolling around in gobs of cash!
I wish that I was a catfish.
They [hardware engineers] never get laid off
;-). And when it comes to logic synthesis tools there's not a lot much out there that's open source.
You're obviously not living in the real world.
Lots of hardware engineers were laid off during the current downturn which started in 2001. And many have had a hard time finding work during this period.
The thing to consider with hardware engineering is that if you have been laid off it's much more difficult to keep up your skills up to date than it would be with software design. Hardware design tools tend to be proprietary (especially the ones used in industry) and they cost as much as a home mortgage, so you're not going to be going out and buying some EDA package so you can keep up your skillset. Sure there are some open source HDL simulators like Icarus and GHDL, but most hiring managers in hardware design will probably not have heard of them or they consider them toys (a false perception, of course, but hiring managers don't know this
If you get laid off from a software job you can easily go and start (or work on an existing) open source project to keep your skills up to date since there are lots of highly regarded open source (free) tools and languages out there to use.
Plus, knowing how the underlying hardware works will allow you to write much more efficient code.
I was not so interested in the sorts of semi-skilled professions of coding and systems administrations.
Come Again ?!?
As a generalist, you learn less and less about more and more, until you eventually know nothing about everything. OTOH as a specialist, you learn more and more about less and less until you know everything about nothing.
Slashdot: Failed Car Analogies. Amateur Lawyering. Anecdote Battles.
Another advantage to EE instead of CS is if you decide that you want to hit law school so you can make a really obscene salary as a patent attorney, you will be able to take the UPTO patent bar. Many CS majors are not eligible to sit for the patent bar (your CS degree has to be ABET accredited, and many -- or even most -- aren't).
Today's Sesame Street was brought to you by the number e.
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.
As a matter of fact, some of it is.
For example - how much faster do you think it would be to use the SSE2 16 byte registers to memcpy() instead of the C stdlib way of doing it byte by byte? Answer? A *LOT* faster. Which is good if you're moving a lot of data real time.
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 used to love tinkering with PCs. I love building them, fixing them, streamlining the OS, finding helpful new stuff to use... the whole 9.
Then you start doing systems admin somewhere and when you get home at the end of the night you don't want to SEE a computer. You just want a beer and your bed.
Now if only I could find a job in drinking and sleeping.
By the time I came out, the writing was pretty much on the wall, and these days, you just throw x86 boxes at the problem (as long as heat or power aren't a concern, anyway).
Don't get me wrong; knowing how computers work from the metal up is very handy and quite fulfilling (in the same ways that Physics is), but unless you're good enough (and want) to work for Intel, AMD, nVidia or some other major designer, architecture (as typified by novel designs) seems dead.
On the upside, embedded still seems OK, and should only improve - especially in the low-power portable segment. Also, electronics guys seem to have real problems getting their heads around software at times, so that might be another avenue to explore.
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.