Computer engineers work on components, devices, programs, algorithms and systems that are used in computers, and on techniques of computation, analysis and implementation that are applicable to single computers or to systems of computers.
In the past, work in this area used to be compartmentalized between hardware and software, but the boundaries between these two categories have become less distinct. Many computer engineers (and electrical engineers) are well versed in both hardware and software, and provide "hybrid" solutions on a regular basis.
Due to the wide use of computers across industries and applications, we find computer engineers in many diverse areas. For example, computer engineers design application-specific integrated circuits (ASICs) for use in cellular phones; they devise and program field-programmable gate arrays (FPGAs) for control systems in manufacturing plants and power stations; they develop microprocessors for personal computers; they introduce embedded systems into diverse applications such as digital watches, portable music players, traffic control systems, and systems that control nuclear power plants.
Many computer engineers work on the design of very large systems that integrate many components and many computers. One example is computational grids, which harvest the resources of hundreds, even thousands of computers for performing intensive computations that are beyond the capability of a single computer. Another example is data grids which allow sharing and management of large amounts of distributed data (such as health information of patients in a country by hospitals, or meteorological and other environmental information collected by thousands of sensors in the ocean). Many computer engineers are involved with communication networks that connect multiple computers, sensors, actuators, and special-purpose devices.
Computer engineering thus provides society with many critical utilities. Computers and computer engineers have impact on public welfare and safety, as well as on health and healthcare, the environment, quality of life, transportation, the food supply, computing, and leisure.
Many aspects of computer engineering are intertwined with the design and operation of devices and sensors, and therefore the line between computer engineering and electrical engineering is often hard to define. Computer engineers play a major role in the design of hardware for computers but increasingly their work also involves integration with control systems, commercial and industrial actuators, and elctro-mechanical devices. On the other hand, electrical engineers are increasingly involved with the software that controls their devices and systems; these electrical engineers often have to study and understand topics such as computer architectures, databases, computer graphics, and computer languages.
Fields of Interest and Employment
According to the U.S. Bureau of Labor Statistics, computer engineers hold about 80,000 jobs in the U.S. This number represents more than 5% of the 1.5 million jobs held by engineers in the U.S. Almost every industry has a need to employ computer engineers and they are increasingly in demand for multi-disciplinary teams in research and development.
Here are the principal industry sectors that employ computer engineers and computer scientists.
- Computers - The computer industry serves almost all technical sectors, including aerospace, transportation, construction, telecommunications, power, medicine, consumer electronics, education, and automated manufacturing. The industry is strong and growing, taking advantage of new architectures, materials and designs that improve efficiency, speed, mobility, and storage capabilities of computer systems. The computer industry offers computer engineers with many opportunities, from the design of new architectures and new computer circuits, to the development of large clusters of interconnected computers. An increasingly growing interest is the incorporation of computing in existing machines and appliances, offering challenges in the areas of embedded systems and miniaturization.
- Telecommunications - Engineers are involved in all aspects of communication system design and in all major varieties of communication systems. These include broadcasting, telephony (landlines and cellular telephony), terrestrial and satellite communication, networks, and communication across the Internet. Of special interest for computer engineers is the design and implementation of computer networks and the development of communicating handheld devices and media players (e.g., blackberries, iPods, and iPhones). Large and small communication systems are controlled by computers, and issues of inter-operability and security are likely to require significant involvement of computer engineers.
- Energy and Electric Power - While electrical engineers often focus on energy generation and on energy-regulating devices, computer engineers who work for power utilities are engaged in tasks such as load forecasting, load flow calculations, stability analysis, and optimization. The deregulation of the power grid has created new markets, and introduced the need for more sophisticated algorithms for power trading. We now need a much more complex infrastructure for negotiation and economic analysis, and this infrastructure provides employment and professional challenges to many computer engineers.
- Aerospace - Computer engineers who work in the aerospace industry design and develop control systems and data management systems for aircraft, helicopters, and spacecraft. Contemporary navigation, sensing, and control systems are fully computerized, and subsystems such as the autopilot or the landing gear make extensive use of computers for actuation, sensing, and situation awareness. Computer engineers in the military aerospace industry contribute to the design of radars, rockets and missiles, and integrate computers with complex systems that involve electronics, lasers, and optics.
- Bioengineering and Biomedical Engineering - This wide-ranging field has emerged through the integration of engineering and the life sciences. Computer engineering plays an increasingly important role in biomedical engineering in areas such as design and control of diagnostic and therapeutic devices, on-line monitoring of patients, implanted devices, and automated measurements. For example, computers programs implement all major image acquisition and image enhancement in modern biomedical imagery using X-rays, ultrasonics, computed tomography ("CAT scans"), and magnetic resonance.
- Manufacturing - Manufacturing technology has been transformed in recent years, as global competition has forced companies to re-evaluate basic manufacturing techniques. In pursuit of increased productivity, companies have introduced such innovations as just-in-time parts supply, six-sigma quality goals, statistical process control, and robotic assembly cells. These innovations have in many cases "computerized" the workplace, and introduced a plethora of computer controlled devices and probes to monitor and regulate manufacturing processes.
- Services, including Entertainment Engineering and Financial Engineering - Many computer engineers find that their technical background makes them well suited for a variety of work in other industries. For example, the entertainment industry now hires engineers to develop the infrastructure for shows in stadiums and theaters, for improved virtual reality experience, and for more dramatic effects in amusement park rides. Most developers of computer games hire computer engineers for design of both hardware (e.g., play stations) and software. The banking and finance industry now offers many positions both in analysis and forecasting and in computer-related areas.
- Transportation and Automotive - In this category we include design of cars, highways, railroads and ships, as well as traffic management. All of these increasingly rely on electronics and computing. Examples for growth in the last two decades include the increased use of computers in cars, and computer control of large systems of trains, tracks, and traffic on bridges.
What's the difference between computer engineering and computer science?
The boundaries between computer science and computer engineering are somewhat blurry. In the past, computer engineering programs were much more focused on hardware and implementation aspects, while computer science programs were focused on software and algorithms. It was common to say that computer engineers would build the circuitry for a computer, while computer scientists would focus on computer languages and operating systems. Nowadays we quite often find computer engineers and computer scientists working on the "wrong" side of the old divide, especially when new applications pose challenges that cannot be solved efficiently by providing "hardware-only" or "software-only" solutions. Increasingly, computer engineers and computer scientists work together, share the same classes and interests, and contribute jointly to the advancement of the profession.
According to a 2007 salary survey by the National Association of Colleges and Employers, the average offer to computer engineering graduates holding a Bachelor of Science degree rose 3.2 percent to $55,946 a year. Our experience is that students who have been on co-op are often able to do 10-15% better.
Career Path Forecast
According to the US Bureau of Labor Statistics, employment of computer engineers is expected to grow in the next decade, as businesses and other organizations adopt and integrate new technologies and seek to maximize the efficiency of their computer systems. Competition among businesses will continue to create an incentive for increasingly sophisticated technological innovations, and organizations will need more computer engineers to implement these changes.
New growth areas will continue to arise from rapidly evolving technologies. The increasing uses of the Internet and mobile technology (such as the wireless Internet and handheld communication devices) will fuel demand for new products and for integration of existing systems with the new devices. Information security vulnerabilities are likely to present new needs. Concerns over "cyber security" would result in businesses and government continuing to invest heavily in systems that protect their networks and vital electronic infrastructure from attack and intrusion.