Computer Science vs Computer Engineer

JC0724

Weaksauce
Joined
Oct 11, 2008
Messages
105
I am wondering which one of these majors have more job opportunities in general?

If you are a CE and your focus is with Digital Systems, VHDL/Verilog, etc? Do you have a lot of job opportunities? For some reason I can only think of Companies like Intel and AMD hiring a CE with these skills. I am sure that is not true so looking for a little more insight here.

I am sure a lot of things come into factor here. More then I am looking at.
 
Depending on the school I guess CE would be better as you do end up taking courses you'd find in CS. I started off doing CE and found the curriculum has choices in stuff like data structures, algorithms, compilers, cryptography, networking etc. It was basically half CS and half EE. I never did finish CE and went to another school to double major and they thankfully had CS available. What I'm trying to say here is that you'd get sufficient experience in the field of CS just by taking CE which should bring up more areas to work in with the degree. For your electives pick some stuff up from CS :p

Then depending on the state you also can take an in-state exam to be qualified as a safe Engineer or something.
 
A degree doesn't guarantee a job.

Anybody doing their own signalling is going to be interested in hiring computer engineer types; all the defense contractors like Harris and Raytheon, singaling companies, satellite companies, cellular companies, and so on. You might want to make sure you have an EE background, or choose communication or RF over "digital systems".

My post enumerates companies and applications, though, and doesn't enumerate job counts, and your question was about job counts. It's hard to count the job openings now, and it's impossible to know what will be available when you graduate.

I think it's more important to choose something that you're passionate about, interested in, and a field in which you're equipped to excel.
 
at my university CE was basically a mix of CS and EE classes.
 
I am wondering which one of these majors have more job opportunities in general?

If you are a CE and your focus is with Digital Systems, VHDL/Verilog, etc? Do you have a lot of job opportunities? For some reason I can only think of Companies like Intel and AMD hiring a CE with these skills. I am sure that is not true so looking for a little more insight here.

I am sure a lot of things come into factor here. More then I am looking at.

There are more than just x86 processor manufacturers - manufacturers of SOCs (Qualcomm, Apple, TI, Samsung, etc.), GPU manufacturers (Imagination, Nvidia), high-speed communication (Inifiniband folks, 10GB Ethernet folks). Lots of jobs in these fields.

If you go CS, you're going to be writing software. If you go CE, you can design hardware. Which interests you more?
 
Companies like Intel and AMD need people with a lot of different skills to perform a lot of different tasks. There are certainly job opportunities there for people with a CS degree, although it is likely going to be in a more software oriented position.

Most of the ASIC designers at these companies will have degrees in EE or CE. CEs are generally working in the digital domain; while EEs are comparatively multi-disciplinary and can be found in analog and mixed-mode (but also purely digital!).
 
Re: jobs

My impression is that there are significantly fewer jobs in the ASIC industry than what you'd be applying for with a CS degree. This is also a huge function of geography.

Also note that getting your foot in the door can be quite difficult; a graduate degree or *relevant* internship are pretty much requirements for getting a job out of school. For reference, probably 90% of the engineers at my current employer have masters degrees, and about a quarter have PhDs.
 
Thanks a lot for your feedback. Um at this point I don't know which I like more. So far I have taken a couple of programming classes and a couple of logic design classes. So far I like them both A LOT! But I know they follow two different job paths. Or at least I think they do.

So I was trying to see which one have better job potential.

I don't really like signal processing or RF communications stuff very much.

What is or do ASIC designers do, and firmware based embedded systems development?
 
I graduated with a degree in computer engineering, but ended up in a role that was much more software oriented. Scratching the hardware itch generally means playing around with my own projects on the side.

On the flip side, I know others from my same year and degree that ended up in hardcore EE roles - antenna systems and the like.

Finally, some ended up at places like Agilent or HP, where they engage in a more blended approach of hardware and software.


What's the point of the above? The degree doesn't matter as much as your passion, interest, and skill in a particular area. The degree may help you get a foot in the door, but once you're there, the specialization of your workplace takes over anything you may have done in your coursework.
 
ASIC design is an umbrella term which encompasses a variety of work involved in designing an Application Specific Integrated Circuit.

It includes (but is not limited to):
Chip architecture and microarchitecture development, chip and block level specifications, floorplanning, SoC integration, circuit design, physical layout, design verification, power analysis, timing closure, etc. Usually an engineer will not be working on all these tasks; there is specialization within the field.

If you are unsure of whether you want to go into software or hardware my suggestion is to study a mixture of the fields: software, computer architecture, digital and analog circuits, semiconductor and electronic device physics. If you can manage I would also recommend learning about control systems and signal processing. At the undergraduate level these are all complementary fields.

I had similar uncertainty when I was in school. I focused on the disciplines above, took a bunch of summer jobs doing software development, and then a year+ internship at one of the semiconductor companies you mentioned. When I graduated I had enough experience and reputation to take a career in either software or hardware - my work experience also gave me a good idea of what I would enjoy more.
 
at my college (I am a 4th year CE), you don't take many CS/SE classes. your first year you take the generic java based classes, second year you take a little C++ and C, but all you learn are the basics, not how to really use the languages to make something in the real world.

most CE's I have encountered are pretty terrible at programming.
as far as jobs, they mostly seem to be programming related, java or c++, which is ironic based on my previous statement.
 
What is or do ASIC designers do, and firmware based embedded systems development?

I have a BSEE and I worked in BIOS for about 8 years, which is PC specific firmware, essentially.

Generally, the job require close interaction with the hardware development teams, requiring a good understanding of the hardware design. On occasion, we had people moving back and forth between the hardware chipset groups and the firmware guys, but generally, people are pigeonholed as "software" or "hardware." Programming was assembler and C, but mostly assembly (small ROM sizes at the time).

Firmware is a bit dangerous, I think, because you're viewed as something of a specialized software guy. When people need you, they really really need you, but they're unlikely to let you work on higher-level software projects, IMHO. In part, because you won't be working with the latest object oriented language in firmware design.

Also, re hardware and software, I always got the feeling that management felt that software could be more easily offshored than hardware design.
 
^^^ BOILER UP?

It will usually depend more on your concentration than the degree. A lot of jobs I've been applying to just throw EE/CE/CS all together, but then they put requirements in specific areas.

I switched from comp e to EE so that I wouldn't get confused as a code monkey, and I don't really like coding. But as a EE, I've taken courses on microcontroller programming, digital logic design and fabrication, and then I've been switching over more to analog and mixed signals since there seems to be a lot more jobs with those requirements (and high speed digital logic ends up transitioning to analog).

As far as companies, alot of electronic/semiconductor companies hire CE/EE like AMD, Apple, Cisco, Dell, GE, TI, Intel, IBM, Qualcomm, Samsung, etc... And also almost all the defense contractor companies like Lockheed, Boeing, L-3, Raytheon, Northrop.

If by CS you mean being a programmer/software engineer, then yeah they probably have more jobs. But I wouldn't base my decision on which one by job opportunities, you should be fine either way (as long as you try hard, get involved, get experience, etc...)
 
I have a BSEE and I worked in BIOS for about 8 years, which is PC specific firmware, essentially.

Generally, the job require close interaction with the hardware development teams, requiring a good understanding of the hardware design. On occasion, we had people moving back and forth between the hardware chipset groups and the firmware guys, but generally, people are pigeonholed as "software" or "hardware." Programming was assembler and C, but mostly assembly (small ROM sizes at the time).

What do you mean or does it mean when you say you worked in BIOS?? You mean the BIOS of the PC, what language would you use to do that or learn how to do that?? I have taken an assembly language class. I didn't actually feel like I was programming BIOS tho.

^^^ BOILER UP?

I've taken courses on microcontroller programming, digital logic design and fabrication, and then I've been switching over more to analog and mixed signals since there seems to be a lot more jobs with those requirements (and high speed digital logic ends up transitioning to analog).

When you say microcontroller programming is that like VHDL programming?? I have a class I can take called microprocessor based design, not sure if that is similar or the same thing?
 
They are different. Microcontroller programming is writing a software program which will run on a microcontroller (ie. a processor in some sort of embedded application).
 
When you say microcontroller programming is that like VHDL programming?? I have a class I can take called microprocessor based design, not sure if that is similar or the same thing?
microcontroller programming is with assembly and C. VHDL are for things like FPGAs

That class is most likely the latter, VHDL and an FPGA. You'll probably use it test your designs in ALU, pipelining, cache, etc... for a CPU.
 
When you say microcontroller programming is that like VHDL programming?? I have a class I can take called microprocessor based design, not sure if that is similar or the same thing?
Does your college not make course descriptions available to you?
 
What do you mean or does it mean when you say you worked in BIOS?? You mean the BIOS of the PC, what language would you use to do that or learn how to do that?? I have taken an assembly language class. I didn't actually feel like I was programming BIOS tho.

I worked at compaq, dell and a few other places supporting new chipsets and CPUs on their respective bios teams. When a pc is powered on, by default, it immediately starts executing code at a particular address. Bios exists at this address and is responsible for memory config, CPU config/microcode download, chipset initialization and config, APM, ACPI, etc, etc, etc... We were also responsible for writing the bios setup program (which people just call bios) and the splash screen - these are the easiest things, but also the only real visible parts of the work.

Bios is necessarily contained in a flash rom, so code space is a constraint. For that reason, bios is sometimes written in assembly language, or at least it was when I was writing it.

As far as how to learn bios development, I learned on the job. You could look for open source projects, but it is generally a pretty small community, so most of the information is kind of word of mouth/proprietary.
 
I think you're trying too hard to deicide what you want to want to do too early, don't be afraid to try a few things before you decide (hell, many still don't know what to after they leave uni). I almost did electronics (owned a soldering iron since I was 11-12), but I chose a computing course as it had a little bit of everything. From electronics to z80 assembler to networking & systems then Pascal and VB6 (don't judge me). Turns out it was the code I liked..

I think it's more important to choose something that you're passionate about, interested in, and a field in which you're equipped to excel.
This is really important, you have to enjoy what you do. Had I wanted to get rich quick, I would have taken a job in banking.

I have a BSEE
Really? where did you study that to?
 
I have another curiousity question.

I was talking with a few friends of mine that are going to different colleges. Some of my friends wanted to major in computer science but didn't get accepted into their college of engineering program. So instead they are majoring in Math and Computer Science in their LAS program.

I have never heard of a Joint degree in Math and Computer Science in LAS before. I am sure you can double major in Computer Science in the engineering program and a Math degree but that is 2 bachelors. The Math & CS degree from LAS is 1 degree. Not sure what the difference is between the two, but I am curious if anyone knows the difference between them?

I thought maybe their college just put the CS degree in LAS instead of engineering and decided to combine math on top of it for whatever reason but that is not the case. 1 of my friends will major in a Computer Science degree out of the college of Engineering and my other friend will major in Math and Computer Science from the college of LAS, and its at the same university.

I was also told that the math and computer science degree from LAS is easier then the computer science degree from engineering. But when you are applying for jobs will colleges even know the difference?
 
I was also told that the math and computer science degree from LAS is easier then the computer science degree from engineering. But when you are applying for jobs will colleges even know the difference?

Colleges don't care what jobs you apply for. They've already got your money.
 
When I hire, I don't give a damn what the candidate did about their coursework. They need to show they're doing something commercially valuable. Coursework ins't commercially valuable.

If the job to which you're applying wants a transcript, I guess they'll see the courses you've taken. I can't imagine asking for a transcript, but maybe some employers do that.
 
Coursework ins't commercially valuable.

Perhaps this is true for the candidates you are looking for, but it is absolutely untrue for the people we are looking to hire. For new grads, we are extremely interested in coursework, publications, research, and project work done in school; often it can be directly applicable to the work they would be doing if hired.
 
Funny enough, I recently prepared a resume for some contract work and was asked to list my github links along with brief descriptions of the projects. Not having prepared a resume in 10 years, I found it an odd request.
 
When hiring new grads we ask for transcripts; so do many other companies in my experience.
Even when hiring entry-level candidates, a transcript doesn't provide information that correlates to on-the-job performance. It shows that the candidate might have impressed a professor enough to get a decent grade, but doesn't disclose anything about the candidate's work habits, ability to fit into a team, to solve problems, and so on.
Funny enough, I recently prepared a resume for some contract work and was asked to list my github links along with brief descriptions of the projects. Not having prepared a resume in 10 years, I found it an odd request.
What do you think they'll do with that? How will they decide if you wrote the code, or had help? Or copied it from somewhere else? Will they review it for bugs and confront you with them as a part of the interview? Will they test the software and see if it meets some sort of quality bar? Will they ask you why you released it to open source licensing? Will they ask how you support it, how you interact with your users, and how you decide what features to work on? Or something else?
 
Even when hiring entry-level candidates, a transcript doesn't provide information that correlates to on-the-job performance. It shows that the candidate might have impressed a professor enough to get a decent grade, but doesn't disclose anything about the candidate's work habits, ability to fit into a team, to solve problems, and so on.

This.

I know plenty of people who are great at memorizing formulas (something I am terrible at). The majority of classes a CE takes requires you to memorize formulas for the tests.

The only time you can demonstrate that you know how to use the material in a somewhat real world application is during labs (which I am awesome at).

The hard part for me finding internships is finding a company who doesn't look purely at your GPA, which many do, even though mine isn't that bad. Most companies will take a 3.5 over a 3.0 despite what you actually know... which is sad.

Thankfully I found a place that actually asks you real questions during an interview to figure our what you know instead of generic/pointless questions about your course work.
 
The hard part for me finding internships is finding a company who doesn't look purely at your GPA, which many do, even though mine isn't that bad. Most companies will take a 3.5 over a 3.0 despite what you actually know... which is sad.

Thankfully I found a place that actually asks you real questions during an interview to figure our what you know instead of generic/pointless questions about your course work.

Internships are a different beast. Since internships are more of a luxury than a requirement, they are really picky. Only people I know who got internships at google and apple had a 3.9-4.0 GPA (and were crazy smart). But for jobs, as long as you meet the 3.0 GPA cutoff, it isn't that important. Except for companies like NVIDIA with their crazy 3.5 minimum.
 
The hard part for me finding internships is finding a company who doesn't look purely at your GPA, which many do, even though mine isn't that bad. Most companies will take a 3.5 over a 3.0 despite what you actually know... which is sad.
Most companies don't interview as well as they should, both for interns and employees.

Indeed, internships are luxuries. Who has the time to teach someone who's not even an employee of the company?
 
Even when hiring entry-level candidates, a transcript doesn't provide information that correlates to on-the-job performance.
I would wager a significant amount of money that I could consistently and reliably in a professional field show a non-zero (and in fact positive) correlation coefficient between grades and some sensible metric of on-job performance. My impression is that you are trying to make a point about the relative importance of a proper interview, but it's hyperbolic and ostensibly innacurrate.

I assume you're familiar with this statistical concept.
 
One absurd conclusion of your statement is that you are unable to make any comparative predictions about the quality of work of a hypothetical zero-percent-invidual vs. a one-hundred-percent-individual.
 
I would wager a significant amount of money that I could consistently and reliably in a professional field show a non-zero (and in fact positive) correlation coefficient between grades and some sensible metric of on-job performance. My impression is that you are trying to make a point about the relative importance of a proper interview, but it's hyperbolic and ostensibly innacurrate.
Feel free to execute your study. I look forward to reading it! Meanwhile, I'll continue to rely on the observations I've made by comparing claimed educational success with competency based on skills testing.
 
Feel free to execute your study. I look forward to reading it! Meanwhile, I'll continue to rely on the observations I've made by comparing claimed educational success with competency based on skills testing.

we might have a good interview then :)
...back to my stupid homework, so many transistors :(
 
Feel free to execute your study. I look forward to reading it! Meanwhile, I'll continue to rely on the observations I've made by comparing claimed educational success with competency based on skills testing.
Going by your instincts and incidental non-controlled observations is truly awful way to do statistical analysis.

Assuming that the employees you hire are more proficient than a randomly selected person, and that they are also more likely to have taken CS/CE/EE/etc. courses than a randomly selected person, then that indicates a non-zero correlation between the two. I guess I can formalize this if you genuinely don't understand.

Honestly I really do assume you're familiar with some basic statistical analysis since you seem so technically proficient in other areas, but it's an absurd statement with absurd implications.

I understand you have some valid point to make, but you're almost certainly doing so inaccurately and/or misappropriating the terminology.
 
Back
Top