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.
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.
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 ?!?
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
Be happy you aren't a gynocologist.
Glonoinha the MebiByte Slayer