A computer engineer designs, researches, tests, and develops computer equipment and software such as circuit boards, chips, routers, and application programs. Computer engineers analyze complex equipment and systems to understand the best way to improve it. They create new types of information technology devices and use logic and reasoning to hone in on goals, test assumptions, and identify the strengths and weaknesses of alternative solutions to problems. Engineers often work in teams and have to be able to communicate with other types of engineers, including non-technical team members. Computer engineers make sure that components fit together properly and function according to the latest software developments.