<p>Hi, I am currently in computer science & engineering at UW, pursuing a "concentration" in software engineering. (I put concentration in quotes because it's not an official track/concentration.) I am unsure what I want to do in the future, so I was just wondering if it is actually possible for someone with a computer science/software engineering background to work in the computer engineering/hardware industry. Or, something in a related field, such as robotics and neuro-signals.</p>
<p>The reason I ask is because my schedule next quarter determines whether I go into computer engineering or computer science, and it would be great if I had some feedback. Thanks!</p>
<p>I’m sure it’s possible, but if your ultimate goal is hardware, why not go computer engineering?</p>
<p>For robotics or neuro-signals, either CS or CE would work fine. If you want to end up doing CE work, major in CE. If you want to end up doing CS work, major in CS. They’re close enough that you could probably make a lateral jump at some point, but why risk it if you know what you want to do?</p>
<p>Ah sorry, I probably didn’t make myself clear.</p>
<p>I’m not sure what I want to do, so I’m trying to pick an option that gives me the most opportunities. I haven’t exposed myself to much of CE and CS yet so it’s hard for me to decide at this point. (I haven’t had much hands on experience.)</p>
<p>I think CE has more opportunities than CS.
This is because CE degree holders can get job in software while CS cannot as easily get jobs in hardware.</p>
<p>Short answer:
If you want to work with hardware a CE degree will be more valuable; for software, CS is the way to go. If you think you may want to work with hardware, and you’re not sure, it’s better to start in CE.</p>
<p>Long answer:
CS concepts are often high-level and abstracted from hardware on purpose. In some sense, considering hardware when developing algorithms is a constraint on imagination that isn’t necessarily useful. For instance, several computer graphics algorithms used today were developed long before they were usable (ex: [Phong</a> shading - Wikipedia, the free encyclopedia](<a href=“http://en.wikipedia.org/wiki/Phong_shading]Phong”>Phong shading - Wikipedia)). That doesn’t mean computer scientists are ignorant of hardware constraints, of course.</p>
<p>Which field has more opportunities is debatable, and I can only guess based on my experience. Both fields learn basic programming, so that’s a sort of neutral ground for either major. You can get a programming job with either undergraduate degree. The real difference comes in electives and concentration. CE students typically have hardware courses that CS students don’t, such as circuits, VLSI, signal processing, and so on. CS students have software/math/theory topics available to them that most CE students will never see: computer graphics, automated reasoning, cryptography, computational geometry, etc.</p>
<p>You can get involved in robotics with either specialty (and others). You’re not likely to build your own robot unless you’re closer to the EE end of the spectrum, but robots need brains too!</p>
<p>edit:
I agree that it’s likely easier for a CE student to go into software, but that doesn’t necessarily mean they have more total opportunities. Keep in mind what I said about the depth of software electives CS students are exposed to. A CS student will, initially, have more opportunities in software than a CE student will.</p>
<p>Let’s say that 95% of software jobs are neutral to CS/SE and CE majors, and that 5% of software jobs favor CS/SE majors.</p>
<p>Let’s say that 5% of computer engineering jobs are neutral to CS/SE and CE majors, and that 95% of computer engineering jobs favor CE majors.</p>
<p>According to the BLS OOH, we see that for computer programmers, systems analysts, computer scientists, and software engineers, we have a combined total of:
2,322,200 CS/SE jobs…</p>
<p>Also according to the BLS OOH, we see that computer hardware engineers have:
79,000 CE jobs…</p>
<p>3950 + 2206090 = 2210040 neutral jobs
75050 jobs which favor CE majors
116110 jobs which favor CS/SE majors</p>
<p>There are problems with this analysis, but I think the idea is clear. The sheer volume of jobs in CS/SE (classified as such, at least as I interpret it) overwhelms the field of CE. Even if most CS/SE jobs don’t favor one over the other, it takes a very small number which do to push CS/SE over.</p>
<p>Woah, that’s a lot to think about right there. Slightly off topic, but I realized our CS degree is a lot more flexible than CE. I could take all core senior electives required for CE (with exception of technical writing) to fulfill the CS degree. So in my situation, I believe it is more advantageous to go with the CS degree since it allows more freedom of choice to decide. The problem then is explaining to employers/grad schools why I have a CS degree with a background in CE but eh.</p>
<p>Thanks for all the responses thus far, it’s very helpful in deciding what to do (both job and interest-wise).</p>
<p>If it’s about finding a job. Sure there are more opportunities in software. If you want to do hardware you have to do CE/EE, you don’t learn that stuff in CS. No one is saying Intel doesn’t hire software engineers. They probably have more openings for Software engineers in NAmerica than Hardware engineers. It’s just that the Software engineers aren’t doing hardware design.</p>