Explore Computer Engineering

Computer engineers are experts in the hardware and software aspects of computers and computer systems.  They have a solid understanding of circuit theory and electronic circuits. Computer engineering is closely linked with electrical engineering, and is often found in the same department. Many undergraduate programs incorporate most of the core curricula in both electrical engineering and computer science so graduates will be prepared to work in either field. Usual tasks involving computer engineers include writing software and firmware for embedded microcontrollers, designing VLSI chips, designing analog sensors, designing mixed signal circuit boards, and designing operating systems. Computer engineers are also suited for robotics research, which relies heavily on using digital systems to control and monitor electrical systems such as motors, communications, and sensors.

Several specialty areas within computer engineering include:

  • Coding, cryptography, and information protection
  • Communications and wireless networks
  • Compilers and operating systems
  • Computational science and engineering
  • Computer networks, mobile computing, and distributed systems
  • Computer systems for architecture, parallel processing, and dependability
  • Computer vision and robotics
  • Embedded systems
  • Integrated circuits, VLSI design, testing, and CAD
  • Signal, image, and speech processing


*Salary and Career Outcomes gathered from the 2020-2021 CSE Graduation Survey. Post-graduation outcomes reflect the percentage of students who were employed full-time in their field or were enrolled in a graduate program at 6 months post-graduation.

CompE Career Prospects. Average Starting Salary: $82,001; Post-Graduation Outcomes: Employed 73.3%, Graduate School 21.7%, Other 5%

Expand all

What can I do with a major in Computer Engineering?


  • Automotive
  • Communication technology
  • Computer aided engineering
  • Electronic components
  • Government safety agencies
  • Hardware design
  • Hardware manufacturing
  • High speed supercomputers
  • Human genetics engineering
  • Information technology
  • Manufacturing
  • Machine automation
  • Medical technologies
  • Robotics
  • Semiconductors
  • Software development
  • Software systems
  • Telecommunications


  • Adobe
  • Amazon
  • Artesyn Embedded Technologies
  • Boston Scientific
  • CenturyLink
  • Cray Inc.
  • Dell Compellent
  • Fast Enterprises
  • Ford Motor Company
  • Google
  • Honeywell
  • IBM
  • Medtronic
  • Microsoft
  • Open Access Technology International
  • Open Systems International
  • Seagate
  • Trane
  • Unisys
  • UTC Aerospace Systems


  • C, C++
  • Circuit design and analysis
  • Excel
  • Java
  • Mathematica
  • Python
  • Signal analysis and processing
  • System architecture


  • Database administrator: Organize, track, and store information for businesses and other organizations. They also design and coordinate database security systems.
  • Electrical engineer: Research, design, develop, test, or supervise the manufacturing and installation of electrical equipment, components, or systems for commercial, medical, industrial, military, or scientific use.
  • Firmware engineer:  Design, create and maintain software used in electronic devices.
  • Hardware engineer: Research, design, develop, and test computer hardware and supervise its manufacture and installation. Hardware refers to computer chips, circuit boards, computer systems, and related equipment such as keyboards, modems, and printers. The work is very similar to that of electronics engineers except computer hardware engineers work more closely with computers and computer-related equipment.
  • Network systems and data communications analyst/specialist: Plan, design, build, maintain, and test networks and other data communications systems.
  • Software engineer: Apply the principles and techniques of computer science, engineering, and mathematical analysis to the design, development, testing, and evaluation of the software and systems that enable computers to perform applications. Software engineers must possess strong programming skills, but are more concerned with developing algorithms and analyzing and solving programming problems than with writing code.

**Some of these positions may require an advanced degree.


  • Active Energy Club
  • Association for Computing Machinery
  • Association for Computing Machinery for Women
  • CSE K-12 Outreach
  • CSE Ambassadors
  • CSE International Ambassadors
  • Engineers Without Borders
  • Eta Kappa Nu
  • Institute for Electrical and Electronic Engineers
  • National Society of Black Engineers
  • Plumb Bob Honorary Leadership Society
  • Science and Engineering Student Board
  • Society of Asian Scientists and Engineers
  • Society of Hispanic Professional Engineers
  • Society of Women Engineers
  • Solar Vehicle Project
  • Tau Beta Pi
  • TeslaWorks
  • Theta Tau

Q&A with Nick Amell, Senior Research Engineer, 3M Company

What do you do?

I work in a research lab on product development and fundamental research. I also create new software and hardware systems and products for 3M.

What’s a typical work day?

We have a scrum stand up, and I continue to work on my team’s goals. I may perhaps attend a meeting or two, and potentially plan for new business development opportunities for my research group and the company as a whole.

What qualities are important for this position? 

A learner—someone who is willing to learn new skills and research topics. Being able to work in teams is also paramount, especially in my organization’s Agile structure.

What about technical skills? 

Honestly, since I’m learning new skills, languages, and techniques every day, being an avid learner with a passion for achievement is huge. Obviously knowing my background—hardware design and electronics—is the foundation for my success.

What training were you offered for this position? 

There were internal and external courses. Plus, my team also does periodic classes on the side with online learning through Coursera and Udemy.

What part of your job is most satisfying?

Developing a product or features of a project to show to internal or external customers, and then seeing the excitement on their faces.

Most challenging? 

When my research group pivots to a new topic that is far outside of my expertise or background. This being said, taking the time and putting in the effort to truly learn the techniques needed to work on that topic will greatly help.

What are your possible career paths now?

3M is a good place to work, in that you can rise the ranks all while staying purely technical. There are several more major steps ahead of me if I were to maintain the technical route.

Advice for current students?

Make sure to take as many computer science (CS) classes as you can. Perhaps double major, if you can. There seems to always be postings for CS majors.

Anything else you’d like to share? 

Absorb as much as you can, and learn to be a good learner. The university will give you skills to get going on your job, but ultimately, learning to learn and having a passion for what you do is what shines in an interview and allows a person to succeed in their career.

Q&A with Eric Minnerath, Software Engineer, Medtronic

What do you do?

My overall job is to translate requirements to embedded software for implantable neurostimulators. I am responsible for writing robust, safety critical software that patients will depend on for years in their bodies.

What is a typical day like?

Attend standup meeting, work on codebase, run code on hardware, communicate details to cross-functional teams, code review, documentation.

What personal qualities or abilities are important to being successful in this position?

Detail oriented, problem-solving , concise communication.

What technical skills are important to being successful in your job?

C programming, operating systems, microcontrollers, basic circuit knowledge.

What part of your job is most satisfying?

Seeing the quality of life go up for patients that use our products.

What part of your job do you find most challenging?

Real-time embedded programming is already very technical and difficult. The highly regulated environment for a class III medical device adds extra complexity to the equation. 

What type of training was offered for your position?

New team members are given significant training material and lectures to attend. Takes many months to contribute meaningfully, which is expected.

What are possible career paths/promotional opportunities from your current position?

Either promote into senior engineering roles or the opportunity to transition to a more management/director role

Advice for current students?

Computer Engineering is a difficult yet rewarding major. It is valuable to receive a good foundation in both software and hardware.

Is there any other advice you'd like to share?

Algorithms and Data Structures is probably the most foundational and important course for a career in software

Q&A with Tristen Butoi, Robotics Engineer, The Toro Company

What do you do?

I research and develop techniques for perception and navigation for robotics systems.

What is a typical day like?

A typical day consists of starting work about 8 a.m. and finishing around 4 or 5 p.m., and during that time I work on various projects such as developing simulations for our robot and working on developing a better camera calibration process or understanding our vision system. My tasks tend to be loose and not as defined, but open for exploration.

What personal qualities or abilities are important to being successful in this position?

Being able to communicate at both a technical level and interpersonal level is necessary for success in any position, but for me specifically it helps to focus my questions I have to team members about the complex topics we are dealing with and streamlines meetings. Curiosity is also needed in order to push your research forward.

What technical skills are important to being successful in your job?

A good understanding of Linear Algebra and a firm grasp of computer science concepts are vital in my position. Exposure or familiarity with using and developing simulations is also increasingly important in my position.

What part of your job is most satisfying?

The fact that I can take my time on what I am working on. This really allows me to get a firm understanding of the concepts.

What part of your job do you find most challenging?

The open-endedness of the job tends to be challenging in the sense that I have to create tasks as problems come up.

What type of training was offered for your position?

Nothing specific, although taking courses on various topics in robotics and similar areas are encouraged, even on company time and money.

What are possible career paths/promotional opportunities from your current position?

With this position, I can really become an expert in any area of mobile robotics I want. I'm personally interested in developing my computer vision and perception skills and creating a career based on those concepts, as there is a need for it in various industries.

Advice for current students?

Find a niche that really interests you. Computer Science and Electrical Engineering are very broad strokes, so explore as many of the different aspects of the field as possible. When you find something that excites you, it'll make getting up to do the work that much more enjoyable.  

Is there any other advice you'd like to share?

Go to class and make friends/study groups. The best thing you can do for your learning is learn from other people and realize the problems you face in your class are not yours alone!