Job opportunities as a computer engineer

<p>I have been chosen at Purdue University, in the college of engineering. Now I wish to choose a computer engineering major but this decision has been influenced by a couple of factors. First of all, I am interested in computers in general and also, I loved the computer science class in high school, and enjoyed learning (and was good at) C++ programming language. Now, I hear that Purdue’s engineering program is regarded highly; according to Purdue’s official website its ranked 11th. So, I have decided to pursue computer engineering based on these 2 factors: my love for computers and the fact that engineering at Purdue is ranked high. </p>

<p>But I haven’t considered the job opportunities. Or what I I’d like my job description to be exactly. So that’s why I’d like to ask here about the kind of job opportunities that would be available if I pursue computer engineering. According to Purdue University’s description of the undergraduate program for computer engineering, it involves “Computer engineering encompasses all areas of research, development, design, and operation of computer systems and their components, including both hardware and software. In this area of study, you can pursue advanced coursework in: Computer Security, Artificial Intelligence, Computer Graphics, Networks, Operating Systems, and Compilers. As a computer engineer, you must have a strong background in mathematics and physics, a broad base in the humanities and social sciences, and excellent communication skills.”</p>

<p>So could I become a programmer at all with this course? I mean it doesn’t really mention any programming language. So what sort of companies or jobs could I get? If I do really well at uni, and if I were to work at Apple (let’s talk hypothetically, regardless of how many students from Purdue get jobs at Apple) what type of job would I be doing? Would I be a part of the team that develops iOS or be doing something else? Any way If you guys can fill me in about jobs (companies or what the job requires you to do e.g. programmer, analyst, etc.) if I pursue this major then that would be great.</p>

<p>Thank You for Your time.</p>

<p>You could become a programmer with a computer engineering degree. Other titles you might get are Software Engineer, Firmware Engineer, Hardware Engineer, or many others, depending upon the work you’re doing.</p>

<p>At Apple, you could work on iOS, Mac OS X, software drivers for peripheral devices (USB, Bluetooth, FireWire, Thunderbolt), wireless and wired protocols, and many other things.</p>

<p>Companies like Juniper and Cisco that build routers, switches, and other network equipment hire people with computer engineering backgrounds to develop similar types of software and/or firmware. Companies like VMware hire people with computer engineering backgrounds to build the virtualization and cloud platform software.</p>

<p>While doing well in school helps, you may even get more recognition and respect from developing open-sourceware. I know many people who didn’t even finish college who went on to highly successful careers on the strength of their open-source contributions.</p>

<p>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).</p>

<p>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).</p>

<p>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.</p>

<p>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).</p>

<p>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 <em>not</em> 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.</p>

<p>

</p>

<p>It’s clear that Purdue’s concept of “computer engineering” is different than what might be defined in the dictionary or whatever. OP’s degree will only be constrained by Purdue’s education; it will not be constrained by whatever definitions of CE exist outside of Purdue.</p>

<p>Yes but it changes the meaning of the question, which is why I clarified.</p>

<p>Thank you for your answers so far, they’ve been insightful.</p>

<p>Sent from my GT-I9100 using CC</p>

<p>There is a continuum between computer science and electrical engineering. In schools like MIT it’s all in the same department. </p>

<p>Computer engineering lies somewhere in the middle and contains significant elements of both. You could certainly go toward either direction in your career and the opportunities should be excellent. I would say that most electrical engineers end up doing work that would be appropriate for computer engineers. </p>

<p>Relative to electrical engineering, computer engineers will focus more on the “digital” aspects of electrical engineering such as digital logic, ASIC or FPGA design, VHDL or Verilog, etc, rather than electromagnetics, analog circuit design, semiconductor physics, etc. </p>

<p>Relative to computer science, the computer engineering degree will focus less on application programming and theoretical computer science, and probably more on “systems” things like computer architecture, operating systems, programming languages, etc, distributed computing, parallel programming, etc. </p>

<p>The three majors should contain a pretty good deal of overlap and it should be easy to switch into one of the others if your interests take you more in one direction or the other.</p>

<p>Thank you for replying. </p>

<p>Sent from my GT-I9100 using CC</p>

<p>I took a look at Purdue’s CE program and it seems to lean more heavily towards the EE side than the CS side. A career in software isn’t out of the question, but if you’re more interested in the software side, I think you may want to consider switching to CS. If you don’t want to sacrifice the EE side, you can try to augment your CE curriculum by taking some core CS classes like algorithms, operating systems, etc.</p>