Computer Hardware/Software Engineering

<p>Hi,
I go to a top University/Engineering Program. (undergrad)
I am interested in intelligent systems as a whole, and probably more interested in computers (both software and hardware) along with robotics.
I am still a freshman, but to decide on the courses I might want to take I need to have an idea of what is available out there: opportunities and job prospects.
There is no Computer Engineering in my School: either Computer Science(Software), or Electrical Engineering(has a hardware track with a graduate-level VLSI course and so many interesting offerings).
I am not sure what I really like about computer so far, rather than them having a huge potential that won't cease to expand: I took 2 programming courses, Circuitry and Signal Processing as a Freshman.
So, what I was wondering about is the following:
1/It seems that in every career fair, Software companies make up the largest part. I know Software is expanding but what about the Hardware? Is it shrinking(as a job market?)
2/I do not really care about the pay that much but I would love to know how it factors into the process: I have friends in the CS department(seniors) who got 6-figure offers from Microsoft and Amazon. Is that available for Hardware positions, say at Apple or even Microsoft? (Intel and Qualcomm, too probably).
3/ Would the Hardware Expertise be useful, were I to get a Software Engineering Position(probably Systems/lower-level)
4/How does the future of robotics look like(as a job market again), I do not see it as prosperous as tech start-ups and it seems that all the innovation is made by Military labs(DARPA, Boston Dynamics).
5/Finally, do Hardware Engineering/Design positions require an MS or is a BS from a strong Program enough? I was thinking about Grad school but I don't like the idea of a Ph.D. Additionally, funding Masters studies is not that easy.</p>

<p>Thank you in advance :)</p>

<p>lots of questions.
CS right now pays more. Also with ee if you wanna do some hardcore design etc often a masters is quite important. Its really hard to go do hardcore vlsi design with just a bachelors. </p>

<p>6 figure salary with hardware is hard and I don’t know anyone who has gotten that. But I know CS people who have. Also do notice most of these 6 fig jobs are in the low low 6 figs and are in very expensive areas. 100k in Si valley is really not that great compared to say 80k in Austin,TX and might actually amount to less depending on your spending habits. </p>

<p>If you wanna work at a company like Qualcomm or intel or microsoft or something as a software engineer I can imagine having a decent foundation in EE can only help and make you very versatile. Knowing basics of transistors and circuits can only help you at those companies.</p>

<p>Dont know much about robotics future. Took a robotics class once. I say if you got a good CS background and know some linear algebra and maybe are aware of controls you are fine if you wanna pursue that.</p>

<p>Does CS pay more even when taking into consideration the costs of living?
I mean, your comparison of Si Valley to Austin made a good point about.</p>

<p>Yea CS pays more even if the location is same. I know even withing companies a starting software engineer will often make more than a hardware engineer. </p>

<p>Also from my observations CS guys have a much easier time getting interviews and often get more offers. This also makes sense in the viewpoint that literally every company needs CS guys. Hedge funds, banks, large consumer brands, i mean literally every industry etc all need backend guys to develop and maintain their software. WHy would these companies need hardware guys? So the # of jobs that a CS has available is much greater. Yet in my school we have the same number of CS graduates as EE graduates, dunno about other schools though.</p>

<p>In my school. The quality of the two programs is the same, but the number of CS people is 4 times that of the EE people.
Plus, you are not allowed to double major(even though I am planning on fulfilling the requisites for BOTH majors), but you can get certificates (a.k.a. : minors).</p>

<p>So, it is quite hard to decide… And I do realize that the number of openings for CS positions is way larger than that or Hardware, but couldn’t this revert soon as people are moving towards CS? Couldn’t there be any kind of saturation?</p>

<p>You can’t really go wrong with either. CS pays more, but if you go more of an EE route, you’ll still get a really good salary. You have to realize that you’re deciding between two of the top paying majors.
That being said, if you’re really unsure, the little extra you’ll get from CS could be a good deciding factor.</p>

<p>Another factor that I keep thinking of is the worth of the degree, especially that I feel getting a degree in EE is harder than CS, not to mention the tons of non-degree holders who innovate with start-ups all the time. So, the hardware constraint could rather work in my favor, especially if I combine it with a descent amount of Computer Science.
By the way, I feel more comfortable dealing with physical entities than reading code for days. I am good at both so far, but I feel that 40+ hrs/week of coding is not for me: not that I can’t do it, but I don’t find the process interesting, even though the output is always interesting.</p>

<p>dude you know what I recommend? Do what I did, do EE but take some CS classes or learn it by yourself. Slowly work on your cs skills. Don’t be those ee’s I know who don’t even know what a pointer is</p>

<p>What type of job do you want after you graduate? Which one do you like more hardware or software?</p>

<p>You sound like you should be a “Computer Engineer” to me.</p>

<p>There are more electrical engineers than computer scientist. CS is a relative new field compared to EE. The hardware industry is already saturated…</p>

<p>Computer Engineering is not offered.
There are only CS and EE (among others: unrelated).
I love the concept of designing/building of EE (I did some small hacks with Arduino and love the whole process: including the programming).
I also love Computers in general: Hardware (Architecture/microprocessors/low-level languages/Systems) and Software(high-level languages/ systems and even theory… I mean I even love Applied Math and Physics: just trying to narrow down my choices :stuck_out_tongue: )
When it comes to Job prospects, it seems that hardware Engineering would be a clever choice with a BS in EE and a strong background in CS. I know of several EE grads who go for Software Engineering after getting a BS in CS, though.
I was wondering how employers regard that? Let’s say big corps.(GOOG, APPL, MSFT…)? I mean, I can cover the minimum requirement of a CS degree in addition to my EE degree reqs., but I feel that people usually take waaaaay more courses than the minimum when seeking a CS degree…
Finally, I know I haven’t mentioned this earlier but how is the outlook of consulting and how much technical knowledge is applied?</p>

<p>^Any ideas?</p>

<p>If you are talking about big corps, they like to pick the best. You need to ask yourself can you beat the best CS degree with your plan. The degree can get you an interview but not a job. There are other considerations when you start interview process. If I were you, I will do it the other way around.</p>

<p>Are you aware that most of today’s computers sold are designed and made by contract manufacturers according to US companies specification.</p>

<p>Will this interest you?
[Open</a> Compute Project - Hacking Conventional Computing Infrastructure](<a href=“http://www.opencompute.org/]Open”>http://www.opencompute.org/)</p>

<p>It is easier to get consulting job if you know people and have experience. If is much harder to be in consulting business than 15 years ago. You basically have to compete with lots engineers that are brought in by outsourcing companies. These engineers are willing to work much longer hours for the same or less pay.</p>

<p>

Don’t worry, this is an irrational fear; or you’re subconsciously trying to rationalize EE, because that’s what you’d actually prefer.</p>

<p>

Yeah, this is sort of beginning to look like rationalization. Why don’t you just major in EE and be done with it? Salaries aren’t that different anyway. Sure, there are more jobs in software and they pay more, but you should do what you love, not what you think you may be “hotter”.</p>

<p>

Then you shouldn’t do CS and you shouldn’t bother trying to get a job in software development. This isn’t a hard problem. Yes, salaries are typically a little lower in EE. Yes, there are fewer jobs. But you’ll be happier and do better in something you enjoy, than in something you’re trying to do just for the money.</p>

<p>You can choose EE <em>and</em> accept the fact that, right now, software is a better game. You don’t need to rationalize the decision yourself, or have us rationalize it for you.</p>

<p>That’s true :stuck_out_tongue:
You got it right, both of you: trying to rationalize what I think is best for me…
Thank you</p>

<p>just majore in EE and minor in CS. Best of both worlds. Or just take some CS courses on the side. That’s what I plan on doing.</p>