Computer engineers and computer scientists often do the same types of jobs in the workplace. There are fundamental differences in the way computer engineers and computer scientists are trained. This training enables the computer engineer to think and act like an engineer. Besides the obvious grounding in math, physics, and chemistry, engineering students are trained in design, teamwork, and communication skills. Computer engineers need to know about hardware and software.
Computer engineers can work on just about any type of job associated with computers and computing.
Computer scientists do not need to know as much about how computers work at the chip level. They tend to specialize in programming, languages, and operating systems, and lack the broader background of engineers. Generally speaking, it is easier for people with computer engineering degrees to get jobs in the computer science field than the other way around. At the University of Arizona, computer engineers specialize in artificial intelligence, computer aided design of VLSI, computer architecture, computer graphics, computer networks, computer vision, man-machine systems, and modeling and simulation. Computer scientists at the U of A focus on operating systems, concurrent programming, compilers, programming languages, databases, and networking protocols.