Student working at a computer.

What is Computer Engineering?

Computer engineering is a broad field that sits in between the hardware of electrical engineering and the software of computer science. When computer engineers design hardware, they focus on what the hardware is trying to accomplish as opposed to the nitty-gritty details of how to lay out the transistors. They design the processors for systems of all sizes, whether they look like computers or not. The processors go into desktop computers, smartphones, tablet computers, supercomputers, kitchen appliances, automobiles, space vehicles, and more. Specialized processors like GPUs (graphics processing units) or hardware to accelerate AI algorithms are also designed by computer engineers.

A special focus of computer engineers is the connections between devices, whether there is a cord making the connection or if it's a wireless connection. The computer engineer doesn't care so much about the actual voltages or wireless signals, but is more interested in the protocol that is used to send the data.

What's the Difference Between Computer Engineering and Computer Science?

Computer engineering bridges the divide between hardware and software. While computer scientists tend to focus on the theory of computer systems, including software and programming, computer engineers understand computer systems in their entirety.

Unlike most computer scientists, computer engineers are comfortable working with both hardware and software. They focus on how hardware and software interact with one another and have the ability to test design trade-offs between the two. Computer engineers often work on electronic aspects of the system and can design, build, and program complete computer systems from scratch.

What Do Computer Engineers Do?

Many computer engineers work less with computer hardware and spend more time writing code. Rather than the fancy graphical applications that end users interact with directly, computer engineers tend to focus on the "invisible" code that talks with the hardware within a system.

When a smartphone wants to know its location, it asks the GPS chip. A computer engineer writes the code to interface with the GPS chip to gather that data and present it to the application. This kind of invisible interface can be found in home computers, where a user installs a driver written by a computer engineer to support a printer or other connected device. It can also be found in things that don't look like computers at all—like kitchen appliances and cars. In fact, a modern car has anywhere from 10,000,000 to 100,000,000 lines of code running in it.

Many computer engineers work in embedded systems, designing the hardware and software for these computing systems that don't look like computers. This spectrum of knowledge between hardware and software allows the computer engineer to work at both extremes, as well. Some computer engineers will spend their time designing and populating printed circuit boards (PCBs) or other hands-on hardware design. Some will leverage their knowledge of programming to write the applications that consumers use directly on smartphones, desktop computers, and supercomputers. Many computer engineers will slide along this spectrum throughout their careers. Some may do things from the whole spectrum on any given day at work.

Where Do Computer Engineers Work?

There are three main fields in which computer engineers work: hardware development, embedded systems, and software development.

Hardware Development

A computer engineer working in hardware development designs processors and computing systems for a variety of industries. The processors may be implemented on an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). The processors might be designed for general-purpose use to end up in desktop computers, smartphones, laptops, automobiles, aerospace vehicles, appliances, and tools. Other processors are designed with specific purposes, like audio, video, communications, or artificial intelligence accelerators. More than just the processor, computer engineers may design the rest of the electrical system that surrounds the processor. Common tools used would be the Verilog hardware description language, Intel and AMD FPGAs, electronic design automation software from Cadence and Siemens, and logic analyzers.

Embedded Systems

An informal definition of an "embedded system" is a computing system that doesn't look like a computer. Many of our everyday conveniences fall under this category, such as:

  • Smartwatches and fitness trackers
  • Home appliances (e.g. refrigerators, ovens, and washing machines)
  • Power tools (e.g. drills, saws, and yard tools)
  • Automobiles
  • Robotics
  • Medical devices (e.g. pacemakers, blood pressure cuffs, and hospital beds)
  • Entertainment technology (e.g. cameras and home theatre components)
  • Telecommunications

Computer engineers write the code that directly interacts with the hardware to sense the current state of the world and then change it. Most of the time, this is low-level programming in assembly language or C. Some Python is also becoming more common. Computer engineers use microcontrollers like Arduinos, Raspberry Pi, products from Texas Instruments, and the Nvidia Jetson to build embedded systems.

Software Development

Computer engineers learn the same programming languages and techniques as computer scientists and software engineers, including Java, C/C++, and Python. They learn how to use common data structures and algorithms to implement software. They use version control software like Git and software engineering techniques like unit testing. This allows them to develop embedded systems and also to work on software directly used by consumers. They can write apps for smartphones, laptops, and even supercomputers.

What Careers Are There in Computer Engineering?

Computer engineers can be found in every industry. They work in companies in sectors such as:

  • Automotive
  • Consumer electronics
  • Computing
  • Aerospace
  • Fitness
  • Healthcare
  • Environmental monitoring
  • Manufacturing
  • Video game platforms

Computer engineers have job titles like:

  • Hardware Engineer
  • Hardware Test Engineer
  • Design Engineer
  • ASIC Architect
  • Validation Engineer
  • Embedded Software Engineer
  • Systems Engineer
  • Firmware Engineer

Any product that has a processor in it has a computer engineer involved. The conveniences of our modern lives involve many computer engineers, from entertainment to healthcare.

What Skills Do Computer Engineers Need?

Computer engineers need to be able to write code in a variety of programming languages. They need to understand the fundamentals of both electrical devices and computer science. Their math skills need to be fairly strong, but not as robust as some other engineering disciplines. They use calculus and differential equations in some circuits classes, but most practical work uses algebra, statistics, and probability. A stronger emphasis is put on general problem-solving and decomposing a solution into discrete steps. Creativity is highly valuable, as is the ability to communicate in written and oral forms.

How Much Do Computer Engineers Earn?

Computer engineers graduate with a mean starting salary around $70,000 per year. On average they earn in the mid-$100,000 annually with the top 10 percent over $200,000.

Computer Engineering Salaries
Job Title Mean Entry-Level Salary (Payscale) Mean Annual Salary (BLS) Top 10 Percent (BLS)

Figures from payscale.com, accessed May 2024.

Figures from U.S. Bureau of Labor Statistics (BLS), dated May 2023.

Computer Hardware Engineers $76,707 $147,770 $212,770
Software Developers $70,115 $138,110 $208,620

See additional engineering salary information.

The Future of Computer Engineering

There are four driving influences in the future of computer engineering: artificial intelligence, ubiquitous embedded computing, supercomputing, and quantum computing.

Artificial intelligence will become a part of every product and product development pathway in computer engineering. Already, power tools are being developed by training machine learning models on a bigger computer and then putting a hard-coded version of the result on a tool. As processing power increases, the training will done on the devices themselves. AI will be used to write code and design hardware with human guidance.

Computing devices will continue to bifurcate into the really big and the really small. Technology will become increasingly ubiquitous until it becomes essentially invisible, requiring both the big computers and the tiny ones. Wearable technology, medical technology, and similar products will become more powerful, more readily available, and cheaper. There will be a strong reliance on big supercomputers for more detailed simulation, machine learning, and general computation. This will also require high-bandwidth, secure communication channels.

Quantum computing is a technology that will change everything about how we design and use computers. It will require new methods of manufacturing computing devices, new algorithms, and new programming methods.

Computer Engineering at Michigan Tech

Computer Engineering Degrees

Michigan Tech's Department of Electrical and Computer Engineering (ECE) is a world leader in quality education— preparing students for careers in industry, academia, or government. Our bachelor's program in computer engineering allows you to choose from concentrations or focus areas within your major to customize your degree experience, while providing you with essential technical and leadership skills that are in very high demand in industry.

Our lectures are taught by faculty—all of whom have open office hours where students can seek homework help and additional academic support. We take pride in strong faculty-student interactions. Some of our faculty members are Michigan Tech graduates and have been instrumental in shaping the program from both personal and industry perspectives. All 20 members of the ECE Advisory Board members are from top levels of major US corporations.

Two student researchers working on hardware in a lab.
Engineers do a lot of things, but there's one thing we do first and foremost: we help people. We use creative ideas and technologies to solve problems in healthcare, energy, transportation, hunger, space exploration, climate change, and more—much more. Become an engineer who is ready for what tomorrow needs.

MTU engineering

Real Engineering. Meaningful Work.

Get ready to contribute on the job from day one. Our students benefit from hands-on experiences ranging from our senior capstone design program to our Enterprise teams to internships and co-ops. Our students have the opportunity to:

  • Develop their professional and leadership skills. Whether this is through coordinating participation in disciplinary conferences or leading an engineering team, our students practice both the technical and interpersonal skills needed for success in their future careers.
  • Have access to laboratories that are regularly refreshed to reflect evolving industry trends. We strive to ensure the equipment and activities both reflect skills that companies are looking for in graduates. At Tech, each student works with their own set of equipment.
  • Get exposure to projects covering topics such as electric vehicle design; design of safe, reliable, and greener power grids; autonomous vehicles; security systems; digital signal processing; wireless sensor networks; wearable technology; laser systems; robotics; remote control systems; airborne radar simulation; and photonics.
  • Take part in internships, co-ops, and secure full-time jobs at a wide variety of companies including Calumet Electronics Corp., Consumers Energy, FCA, Ford Motor Company, Los Alamos National Laboratory, Plexus Corporation, Northrop Grummon Corp., Gentex, ArcelorMittal, Milwaukee Tool, Nexteer, Caterpillar, Black & Veatch, Honda, Waymo, and more. Placement for our ECE graduates is often known well before graduation, with many of our students taking full-time offers from companies where they have interned or taken a co-op experience.
  • Be involved in student groups like the IEEE student branch or the security-oriented RedTeam. Our classes use FPGAs from Intel and industry-standard software tools like Quartus Prime. Enterprises doing computer engineering work include the Aerospace Enterprise, Blue Marble Security, Husky Game Development, Open Source Hardware, and Wireless Communications.

Prepare for Graduate Study

Our undergraduate program in computer engineering prepares you for advanced study in the field. Earn your PhD degree in electrical engineering or MS degree in electrical and computer engineering.