Computer engineering is the branch of engineering that integrates electronic engineering with computer sciences. Computer engineers design and develop computer systems and other technological devices.
Some of the most prominent pioneers in computer hardware include:
- Blaise Pascal, inventor of the mechanical calculator;
- Charles Babbage, inventor of the Analytical Engine;
- J. Presper Eckert and John Mauchly, builders of ENIAC, and later UNIVAC, the first computer to be sold commercially;
- Nicholas Metropolis, designer of the MANIAC I computer;
- William Shockley and his team at Bell Labs, inventors of the transistor;
- Seymour Cray, the "Father of Supercomputing";
- Steve Wozniak, designer of the Apple I and II personal computers and co-founder of Apple Computer along with Steve Jobs;
- Adam Osborne, developer of the first portable computer, the Osborne 1; and
- Douglas Engelbart and Bill English, co-inventors of the computer mouse and developers of hypertext, computer networks and the graphical user interface (GUI).
Since those early days of computing, however, most significant advancements in computer hardware have been made by teams working at medium to large corporations.
The early innovators in computer software include:
- George Boole, who formalized binary (Boolean) algebra;
- Alan Turing, who made enormous contributions to computer science, including inventing the Enigma code-breaking machine that broke the German ciphers in World War II and doing pioneering work in artificial intelligence and neural networks;
- John Backus, leader of the team that invented the first high-level programming language, Fortran (FORmula TRANslation);
- Dennis Ritchie and Ken Thompson, developers of the UNIX operating system and the C programming language;
- Gary Kildall, founder of Digital Research Inc. and inventor of the CP/M (Control Program for Microcomputers) operating system;
- Bill Gates, founder of Microsoft Corp.; and
- Vint Cerf and Bob Kahn, inventors of Transfer Control Protocol and Internet Protocol (TCP/IP) and sometimes referred to as the "Fathers of the Internet."
As with computer hardware, most significant advancements in computer software these days are made by companies rather than individuals.
What do computer engineers do?
Computer hardware engineers "research, design, develop and test computer systems and components such as processors, circuit boards, memory devices, networks and routers," according to the U.S. Bureau of Labor Statistics (BLS). Computer hardware includes:
- memory chips: random-access memory (RAM), read-only memory (ROM) and nonvolatile rewritable flash memory;
- data storage devices: hard disks, solid-state drives and optical drives;
- input devices: keyboards, mice, joysticks and gaming controllers, cameras, microphones, scanners, touch screens and remote sensors;
- output devices: printers, monitors, audio devices and remote controls; and
- networking components: adapters, modems, switches and routers.
An important function of computer engineers is to integrate these components into computer and network systems. This all requires a good working knowledge of electrical engineering.
Another important aspect of computer engineering is software development. Computer software includes:
- operating systems;
- applications: word processing, spreadsheets, accounting, database management, graphics, computer-assisted design (CAD), computer-assisted manufacturing (CAM), audio, video, media and games;
- networking and communications: World Wide Web (WWW), voice over Internet Protocol (VOIP), instant messaging and email;
- utilities: file handling, disk management, device drivers, archiving and backup systems;
- programming languages: editing, compiling and debugging; and
- security: antivirus, firewalls, encryption and user authentication.
Computer engineering salary
Most computer engineering jobs require at least a bachelor's degree in computer engineering. Many employers also require state certification as a professional engineer (PE). A master's degree is often required for promotion to management, and ongoing education and training are needed to keep up with advances in technology. Many computer engineers belong to the Institute of Electrical and Electronics Engineers (IEEE) Computer Society.
According to Salary.com, as of July 2014, the salary range for a newly graduated computer hardware engineer with a bachelor's degree was $44,997 to $74,249. The range for a midlevel engineer with a master's degree and five to 10 years of experience was $77,138 to $107,644, and the range for a senior engineer with a master's degree or doctorate and more than 15 years of experience was $101,574 to $154,500.
Salaries for newly graduated computer software engineers are similar to those of computer hardware engineers. According to Salary.com, as of July 2014, the salary range for a newly graduated computer software engineer with a bachelor's degree was $48,688 to $77,138. The range for a midlevel engineer with a master's degree and five to 10 years of experience was $73,631 to $109,108, and the range for a senior engineer with a master's degree or doctorate and more than 15 years of experience was $98,626 to $145,287. Many experienced engineers with advanced degrees are promoted to management positions or start their own businesses, where they can earn even more.
What is the future of computer engineering?
The BLS predicts employment of computer hardware engineers to grow 7 percent from 2012 to 2022, which is slower than the average for all occupations. "A limited number of engineers will be needed to meet the demand for new computer hardware because more of the technology innovation takes place with software than with hardware," the BLS states. Employment of software developers is projected to grow 22 percent from 2012 to 2022, which is much faster than the average for all occupations. "The main reason for the rapid growth is a large increase in the demand for computer software," according to the BLS. Having good grades from a highly rated institution should give a job seeker an advantage over the competition.
Jim Lucas is a freelance writer and editor specializing in physics, astronomy and engineering. He is general manager of Lucas Technologies.
- A comprehensive list of necessary skills and abilities for computer engineers can be found at MyMajors.com.
- Look for top-rated computer engineering programs at TopUniversities.com.
- Read a report on the future of technology, written by Dejan Milojicic, president of the IEEE Computer Society and a team of nine technologists.