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."
1 Hardware
2 Hardware
and
3 Hardware
I cant stree that enough and make no mistake about it that the people in Hardware are the future systems engineers. They never get laid off and are highly sought after. You can practicly name your salry expect around ~100k @ 5 - 7 years and live where ever you want. Long hours every once in a while but if you didn't have so many meetings with higher ups than you would'nt have the face time.
In case you didn't under stand: Hardware, Hardware, Hardware.
Case closed.
enjoy a few years studying philosophy, history and the arts. In the end you'll come out feeling more satisfied with your well-being. Why do I say that, well I was just reading this headline,
WASHINGTON (Reuters) - The United States should remove visa limits to allow more skilled foreign citizens to work at U.S. companies if it wants to remain a leader in technology, Microsoft Corp. Chairman Bill Gates said on Wednesday.
Microsoft is having a hard time finding skilled workers within the United States, and the lack of H-1B visas for skilled workers is only making the situation worse, Gates said in a panel discussion at the Library of Congress.
Debating hardware vs software is just futile at this point..
Is it possible that hardware is going away first, with less effort going into embedded systems and more effort going into general microprocessors?
From what I've heard through the grapevine, it should be exactly the opposite. Interest will be swinging back into dedicated hardware rather than do-it-all processors, mostly due to power concerns in today's (and tomorrow's) portable devices.
I'm not proclaiming to be an expert on this by any means, so what the hell do I know?
The reason that you don't see many folk going from software to hardware is simple. It's the degree of exposure and difficults. Quite often, hardware folk find themselves writing firmware for their own hardware designs. It's rare that coders find themselves designing hardware due to their software requirements. Most CS guys I know never touch hardware at the hardware level. Many EE's I know deal with code on a regular basis.
Also, it takes a certain kind of person to have tremendous success at the hardware level. Anyone can make code work. Not everyone has the patience to deal with instrumentation ground loop issues, etc.
I could see some programming jobs being outsourced to India, especially programming that revolves around the web, but you you really think that all software design will be outsourced? What about the people who develop software to run robotics? What about the people who work on operating systems, 3D engines, software to run jets or military systems or other things like this. While there are less jobs of this type than say web developer, it seems to me that every position that requires and engineer to develop hardware will most likely be complimented by a software group to utilize the hardware. Maybe I am just naive, but it doesn't seem to me that CS majors will be unable to find a position in the future.
SIGFAULT
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.
-- Molly Lipton, Born Again Technologist.
Actually the drop in enrolments has been so large that a shortage in four years or so is almost inevitable, outsourcing or not...
That's true. Lots of people work in jobs they don't particularly love, but do it because it pays the bill and lets them do what they really want.
I also know people who love working with computers at the hardware and/or software level, but won't ever be at the top of their field. They'd be better off making money elsewhere. Just because you love something doesn't mean your going to be good at it.
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.
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.
The embedded industry is one of the largest slices of industry, and it is growing. And for the kicker - it is extremely hard to find people that can do software and understand hardware (thanks Java!).
You either get EEs that try to write in assembler (C is for wuses), or CS guys that want to write in PHP or Java.
The last few places I have worked at have found it very hard to find competent people. :)
Just MHO
Damnit - I wanted my nick to be "WouldIPutMYRealNameOnSlashdot"
Agree completely about the embedded stuff, there's embedded, and then there's *really* embedded, like what you're talking about.
From what I can gather, though, the embedded development of the future will all happen on microprocessors embedded into FPGAs, which will also serve as multi-peripherals. So, the embedded developer of the future had better know VHDL or verilog, because he'll be customising a processor for his problem domain, then writing the software for his custom processor (+ peripherals). All on a chip that can run at many MHz while consuming a metric dogfart of power. It's exciting times ahead!
For examples of what I'm talking about, see the FPGAs from (eg) Altera (cyclone series) and Xilinx (Spartan 3/E); these are 100,000-plus-gate devices which consume very little power, and come in under around $20 ea in small quantities.