Job opportunities as a computer engineer

TomServo
Mon, 25 Jun 2012 19:54:15 +0000

If that is a direct quote, then it seems Purdue is using an annoyingly broad (and wrong) definition of “computer engineer.” “Computer engineering” is a special case of electrical engineering. Essentially, EE with a focus on digital logic systems (the rudiments of computer systems). If focusing on the hardware side of things more than on the software side of things interests you, go for compEng. If you’re more interested in the software side of things, study computer science. Although every compEng degree includes a smattering of software engineering and any CS degree includes a smattering of learning about the hardware (essential for learning assembly language).

Computer science is where you would study operating systems, compilers, graphics (at the software level), algorithms and data structures, software engineering, and more theoretical things like formal languages and automata (computer science is a branch of math after all, programming is just applied computer science).

Look at both of these degrees and the courses of study and see which one interests you more. Other options include “computer science and engineering” (which is a hybrid of compEng and CS) and “engineering physics” with an emphasis on either EE/compEng or CS (if you want to study physics the most but want to be competent in compEng or CS), but those degrees are not offered at every school.

My advice is to not fret about which one you want to do so early, because the odds are pretty good you will change your mind. I was dead set on computer engineering at first, but my mind was changed by a few things. For one thing, I found I didn’t really care for working with electronics (I was much more interested in the physics behind the electronics), and a compEng major has to do a lot of electronics. For another thing, I realized that a computer engineering degree was way more than I wanted. I wanted a competent understanding of how computer systems work on the hardware level, but I realized it wasn’t important that I become an expert. Partly because I realized I was much more interested in making software, and partly because the real breakthroughs in computing technology are going to come from physics. We’re nearing the point (not there yet, but within ten-twenty years of it) when transistors will be so small that they will be a single atom across. The quantum computing age holds great promise, but to really be involved in that kind of thing you need either a PhD in EE/CompEng or physics (and I like physics in general, so I switched to engineering physics with a CS emphasis).

For a traditional compEng graduate, he (or she, if you can prove that such a thing exists) has great job prospects with just about any company involved in computer hardware systems, or in “embedded systems.” Most compEng graduates do not go on to actually design microprocessors and graphics accelerators from the transistor up, but they work with computer hardware systems in general. EE/compEngs are the people who took cell phones from giant bricks to palm-top, game-playing, web-surfing computers. A computer engineer would do something like write device drivers or BIOSeseses, they often work on very low-level software. Many of them wind up as computer programmers, but of course their expertise in the hardware makes them ideal for, say, figuring out faster assembly-language algorithms and stuff.