Computer engineers are the world's high-tech problem solvers. They build,
write, design, analyze and correct computer systems and software. Their expertise
ranges from operating systems to software and hardware.
"Computer engineering is the intelligence in every new product," says Ruth
Dameron. She's a computer engineering instructor.
"Mechanical engineering can make it able to move, but it's computer engineering
that does the logical thinking, gathers information [with] sensors or input
of some other kind, does the reasoning, does the thinking and has control,
and can send instructions out to parts that move or parts that display on
a screen," Dameron says.
"The control and the intelligence is all in the computer engineering,"
she adds. "And I think that's cool."
Students are often unsure of the difference between computer science and
computer engineering, says Wayne Loucks. He's a professor of computer engineering.
"There is a lot of overlap," he says. "In the case of a computer engineer,
the computer is usually part of something, so you don't see the computer as
the end game, you see it as part of something else. Whereas, if you're a computer
scientist, you have some problem, you're solving it, and the solution is sort
of all within the computer."
For example, if you're designing a computer database, you're likely to
be a computer scientist because it's basically all within the computer, says
Loucks. But if you're designing a control system for something, whether it's
antilock brakes or a steel mill, you're more likely to be a computer engineer.
Computer engineers typically focus on systems with both hardware and software.
Engineers who focus on large software systems are more likely to be software
"Their skill set is about managing software development so that it will
be successful, so somebody won't make a change over here in this program that
makes a problem over there in some other aspect of the system," says Loucks.
Computer programming is another related profession. Computer engineers
or computer scientists typically supervise programmers. Programmers help organizations
with their existing databases and various other things.
"Programmers can solve smaller problems," says Loucks. "They might be given
a task that still requires lots of thinking about to solve, but will likely
end up being a much smaller piece of the puzzle, whereas the engineer would
be more worried about the whole puzzle."
Computer engineers work in offices or labs. They work for companies that
develop software for industrial purposes.
Computer engineers may work more than eight hours per day. At times, they
may work 70 hours a week. Some companies expect it of their engineers. Others
"That depends on the kind of company that you go to work for," says Dameron.
"Depending on the climate of the company, you will typically work a nine-to-five
job. Or you can be in a situation where, when the creative energy hits, you
just go while you've got it, and then go take a nap.
"You can also be in a lot of unusual and different environments," says
Dameron. "You can end up... in Antarctica, or on a ship, or in a big city,
or in a remote area."
Computer engineers often have the opportunity to work from home. However,
this depends on their employer, or whether they work for themselves. Some
computer engineers have their own companies and work on contract for clients.
This is the case for Ben Komar.
"You have to really enjoy solving puzzles," says Komar. "Because solving
an engineering problem, whether it's testing something or actually designing
something and implementing how it's going to work, it's really... like solving
There are other qualities Komar believes computer engineers should have.
"Outside of liking puzzles and liking detail-oriented work and working
with the computer... they need to like people," says Komar. "Because you're
going to interface with people in a number of ways. As you get to be a senior
member of a team, or even a junior or an average member of a team, you're
going to have to talk to your teammates, number one. You're going to have
to talk to people that have different personalities."