Computer engineering exists at the intersection of technology and innovation. A dynamic professional field, computer engineering offers varied career paths in both hardware engineering (e.g. microprocessors) and software development—each which drive computing advances in industries ranging from aerospace to healthcare. The following guide provides a high-level overview of computer engineering, including a look at different degree and career paths, related skills and technologies, earning potential and employment outlook.Search Computer Engineering Degree Programs
Computer engineering blends together computer science and electrical engineering to further advancements in digital technology, computer networking and computer systems. In turn, computer engineers use their extensive knowledge of hardware and software design and computer programming to make computing platforms and applications more efficient and effective. Seamlessly integrating the latest innovations, computer engineers develop new computer hardware, design and implement software applications, and enhance the capabilities of networks and communications systems.
Computer engineers work with hardware and software, ensuring that the two are seamlessly integrated and functioning properly. Computer engineers focus on innovation—making computing systems safer, faster and more powerful. At the career level, there are two main avenues: hardware and software engineering. Hardware engineers focus their skills on computer systems and components, designing microprocessors, circuit boards, routers and other embedded devices. On the software side, these engineers create, test and debug programs and applications that run on computers, mobile devices and more.
Just as there are countless apps, software programs and computers that function for specific tasks, there are just as many career options for those who wish to enter the computer engineering profession. From robotics to wireless networks, and operating systems to aircraft design, there is a specialization for any interest. Example employers for computer engineers include research laboratories, technology manufacturers, semiconductor companies, and digital consulting firms.
Learning how to become a computer engineer is the first step toward earning a more-than-comfortable salary. According to the Bureau of Labor Statistics, the median income for this profession was $108,430 in 2014, but the top-earners make more than $160,000. Salaries vary between regions and industries. Scientific research pays a more modest wage, while computer equipment manufacturing is more lucrative.
|Career Field||Median Salary|
|Computer Hardware Engineer||$108,430|
|Software Engineer, Applications||$95,510|
|Software Engineer, Systems Software||$102,880|
However, like any career, salary ranges by location, experience, industry, and employer. Use our salary comparison tool to learn more about salaries of computer engineering professions in your city, and compare it to others.
With the growing need for technological advancement, it should not come as a surprise that approximately 38 percent of all technological professionals work in computer engineering—hardware (27 percent) and software (11 percent)—according to CompTIA. However, between those two paths, the outlook for hardware engineers is slightly tempered when compared to software engineers.
The Bureau of Labor Statistics notes more innovation is occurring in software development and career growth for hardware engineers is only projected to reach 7 percent nationally between 2012 and 2022. On the other hand, software engineering careers are expected to grow by 22 percent nationally at the same time, far outpacing the national average for all occupations. The factors responsible for this growth? Emerging industries, massive capital investments by venture capitalists in technology start-ups, and the growing demand on mobile technology. Computer engineers with a master’s degree or higher should have the best prospects.
Select a state to see more on employment and job growth for computer engineers.
With a growing, insatiable desire for technological advancements—both by businesses and consumers alike—the need for trained, skilled and qualified computer engineering professionals seems to know no bounds. Becoming a computer engineer requires an extensive college education that can take from four to seven years to complete. In the first two years of a bachelor’s degree program, students typically finish computer engineering prerequisites and general education courses. The last two years focus on foundational classes in computer science, electrical engineering and mathematics. Students typically study software, hardware, networking and security. Many employers prefer engineers with advanced degrees, which means two more years of master’s degree work to qualify for those jobs. Finally, if professional goals include applied research or a career in academia, a PhD in computer engineering may be the answer.
For students who desire a direct entry training program or cannot attend a four-year program initially, then an associate degree program in computer science or related IT field of study at a community college or trade school can be a solid first step. Some community college students can save on tuition while completing their general education requirements, because tuition at these schools is sometimes more affordable than at four-year schools. In addition, students should ensure the courses they complete in their two-year associate degree program will transfer to a four-year bachelor’s degree program.
|School Name||More Information|
Typically, most employers expect software engineering professionals to have at least a bachelor’s degree, while companies hiring hardware engineers traditionally seek applicants that hold a master’s degree. Bachelor’s degree programs allow students to complete a comprehensive education in while concentrating their studies in either hardware or software specializations. For example, an electrical engineering program with an emphasis in computer engineering is appropriate if you want to work with microprocessors and high-speed circuitry. For those considering a career in software engineering, they may want to pursue a general computer engineering degree or a software engineering degree. Other applicable undergraduate majors include mathematics and computer science. When choosing a program, be sure it is certified by the Accreditation Board for Engineering and Technology (ABET).
While graduates may find an entry-level software engineering job with a bachelor’s degree, better-paying positions and software management jobs typically call for a master’s degree. Hardware engineers usually return to college for post-graduate work. Those who want to rise to leadership or management roles pursue masters of business administration (MBA) degrees with a technology focus. Pay increases are often pegged to ongoing education, and engineers are inquisitive enough to want to stay abreast of technological advances. In many cases, your employer may contribute to ongoing education fees. A doctorate can be an advantageous degree for engineers who want to teach at the university level or conduct advanced research at a university-sponsored laboratory. Engineers with a PhD in information technology can advance to management workplace roles such as IT strategist, chief technology officer or chief information officer.
Computer engineers can work as general problem solvers or they can focus on one aspect of their career. For hardware professionals, continuing education in software development can be beneficial and vice versa. As the fields are continually evolving, job candidates will want to go where the opportunities exist. Specialize, but remain nimble. Some corporations may demand employees pursue advanced certifications in hardware or software systems offered by vendors. Certification exams are offered to benchmark skills for a prospective employer or advance in the company. They can be an essential part of the job search arsenal. Popular certification categories include Microsoft Systems Administration (MCSA), Cisco Network (Wireless and Voice), Project Management and VM Ware.
Computer engineering degrees are available in both campus and online formats and range from two-year associate degree programs to advanced graduate study at the doctoral level. Instruction varies from the career-specific–such as an associate degree in electronics technology–to research-focused PhD programs in digital signal processing. Each academic step offers students the opportunity to not only enhance their existing skill sets, but also develop knowledge and skills in new or more specialized areas. Below is an overview of the major types of computer engineering degrees.
|Career Goal and/or educational needs||Associate||Bachelor’s||Master’s||Doctorate||Online|
|I’m looking for a short-term program that offers flexibility and professional training for direct entry-level employment as an electronics technician.|
|I’m interested in a career in engineering, but would like exposure to different opportunities in both software and hardware.|
|I’d like to improve my career potential by completing a program of study in engineering, but need flexibility because of family and existing work commitments.|
|I have several years of experience in software engineering, but would like to develop a robust set of skills in project management and administration to pursue advanced career opportunities.|
|I’m interested in becoming a researcher in robotics, with a concentration in image processing, microcontrollers, and control systems.|
|I’m looking for an opportunity to make a career pivot, shifting from information systems to a career in software development and engineering.|
|I’m seeking training in embedded systems to pursue career opportunities in the automotive industry, but would like control over my academic schedule.|
|I’d like to complete my core coursework and develop technical proficiencies before completing a four-year program of study.|
At the associate degree level, prospective students can select from two educational paths: Electronics and Computer Technology or Pre-Engineering with a Computer and Electrical Engineering emphasis. An associate in electronics and computer technology offers career-focused curriculum that allows students to either continue their studies at the bachelor’s degree level or pursue entry-level employment opportunities after graduation. A pre-engineering degree, on the other hand, is aimed at students seeking to transfer to a four-year university to complete a bachelor’s degree in computer engineering. Both options are designed to introduce students to fundamental principles in computer engineering and electronics design, including programming, communications and networking, electronic systems, computer hardware and software, electronic systems, instrumentation, and maintenance and repair. For example, students may take classes in subjects such as computer architecture, object-oriented programming, circuit theory, networking and Internet technologies, and digital electronics. These programs can be completed in two to three years and typically require between 65 and 72 credit hours to graduate, depending on the school and program.
Introduces students to networking fundamentals, including database concepts, client-server programming, and database design
Introduces students to the object oriented design programming techniques, including different programming languages, data manipulation, and sorting.
Introduces students to the fundamentals of data communications, networking, and the Internet.
Introduces students to C++ programming language and focuses on effective approaches to design and coding.
There are multiple degree formats at the bachelor’s degree level, including the Bachelor of Science in Computer Science and Engineering (BSCSE), the Bachelor of Science in Computer Engineering (BSCE), and the Bachelor of Science in Computer Engineering Technology (BSCET). Although curriculum varies by program type, each features a balanced approach to the study of computer engineering with an emphasis on the design, integration, and support of computer hardware, software, and network systems. Typically requiring between 120 and 128 semester credits to complete, the curriculum is divided between general education and computer engineering classes. Broadly, students develop foundational technical skills by studying programming languages, databases, computer and network architecture, and electro-mechanical systems. Examples of specific areas of study include systems software, digital integrated circuit design, microcomputer systems, and electrical and computer engineering design. Some colleges allow students to individualize their studies through program concentrations in software, hardware, and related fields such as robotics, Web technologies, information assurance, and Web design.
Broad study of the C language, including its structure, style, and operators. Students also receive an introduction to programming design in regards to problem solving.
Provides students with knowledge of the components of embedded systems, including assembly language programming, computer organization, and processing.
Focuses on the study of computer programming design–including MATLAB environments–that have applications to engineering problems.
Provides student with an introduction to the fundamentals of mobile application, including platforms, design, and programming.
More than 4,600 bachelor’s degrees in computer engineering were granted in 2013, according to the National Center for Education Statistics.
The master’s degree in computer engineering is designed to prepare students for further studies at the doctoral level or for career advancement. Master’s programs are available in both on-campus and online variants (check out this ranking of the best online master’s degree programs in computer science). Depending on their professional and educational goals, students may select from Master of Science in Computer Engineering or a Master of Engineering in Computer Engineering. Broadly, the Master of Science degree is a research-based program of study, requiring students to complete independent research that culminates with a thesis project. The Master of Engineering is a professionally focused program of study, one aimed at allowing students to explore professional interests both within and outside of computer engineering. However, both types of master’s degrees include rigorous curriculum and allows students to concentrate their program in specialized areas such as hardware and computer architecture, computer communications and networks, software, cybersecurity, VSLI design and computer-aided design, or energy systems, to name a few. Students typically must complete between 30 and 33 semester credits to graduate, which usually equates to approximately two years of full-time study.
Builds upon student’s understanding of distributed computing, with an in-depth study of information processing
Focuses on the principles and protocols used in network systems, including wireless, mobile, data center, and Internet networks
An advanced study of the organization of computer systems, functionality, design, and performance
The study of very-large-scale integration (VSLI) deals with emphasis on the design process and techniques for developing an integrated circuit consisting of thousands of transistors in a single microchip
Doctoral studies in computer engineering prepare students to pursue careers in applied research, academia, private industry, and the government. In addition to completing master’s degree requirements, prospective PhD candidates must also complete an additional 32 to 36 semester credits to graduate. Areas of study are traditionally determined by student interest and faculty research areas and may cover a multitude of aspects in computing theory, software, hardware, and computing applications. Research examples range from nanotechnology to bioelectrical engineering, mobile computing to bioinformatics. Earning a Doctor of Philosophy in Computer Engineering traditionally culminates with a research examination, comprehensive examinations, a dissertation, and successful defense of the dissertation before a graduate committee.PhD Level Skills
PhD students should demonstrate technical expertise in their field of study in a variety of contexts, whether in software or computer hardware design, systems integration, electronic design, integration, networking and security, or embedded systems.
PhD students develop an ability to communicate their research results effectively, both to scientific and non-scientific audiences. In other words, students should be able to convey complex technical materials through both oral and written presentations that adapt to the standards of the audience or publication.
PhD students should be able to define the scope of and conduct independent research, as well as identify, review, evaluate, and apply information from research publications in their subfield of study in computer engineering.
PhD students should be adept at integrating their advanced expertise with new knowledge in order to solve complex engineering problems whether in computer hardware or software engineering.
Computer engineering is one of the most popular majors offered at colleges and universities across the country. The search tool below helps students locate a local computer engineering degree program that’s right for them.
Online learning affords students a convenient way to complete a computer engineering degree. Through online programs, students can gain industry-specific skills and prepare themselves for real world professional success. The major benefit for most students considering an online program is convenience. However, not all online degree programs are equal. Below are three factors students should keep in mind when researching online degree programs in this field. Prospective students can also check out this directory of online colleges with top-ranked computer science programs.
The Accreditation Board for Engineering and Technology, Inc. (ABET) is the central accrediting body for computer engineering programs. Students should ensure their selected program is accredited by ABET to ensure quality. ABET reviews multiple criteria of computer engineering programs, including curriculum, student performance, student outcomes, faculty, facilities, and resources. Accreditation is a primary indicator of quality and value. It demonstrates that the program adheres to nationally recognized standards and produces graduates that are prepared for career success.
The quality of a program and subsequent student success is determined largely by the caliber of the department’s faculty and instructors. For computer engineering programs, especially online programs, student should review each faculty member’s background, education, and professional experience. Because of the breadth of specializations within this field, students should seek out programs where faculty members have real world or research experience in their field of interest (e.g. nanotechnology, software engineering, embedded systems, etc.)
The goal of completing a computer engineering degree is to equip the graduate with skills that align to the specific needs of today’s technology industries. Prospective students should review the curriculum of each potential program to ensure they are provided with fundamental instruction in both electrical engineering and computer science. Secondly, students should examine the progression of learning. Are they introduced to both the software and hardware aspects of computer systems? Is there strong emphasis on hands-on learning activities in a laboratory or through student-led engineering projects? Can students concentrate their efforts in a particular area of study, such as embedded digital systems, personal computers, or networking?
According to the National Workforce Center for Emerging Technologies, computer engineers should have a blend of soft, employability skills in addition to technical knowledge. These soft skills include critical thinking, communication, and project and time management. Computer engineers should be detail-oriented, analytical, excellent problems solvers, and able to identify, analyze and craft solutions to complex problems. As a cross-functional position, computer engineering requires individuals be strong communicators, and able to work closely with other colleagues and clients. Because of the ever-evolving nature of technology, computer engineers should pursue professional development in their area of concentration, whether it is biomedical engineering or automotive engineering.
Professional certifications and credentials in computer engineering complement and build upon the knowledge and skills developed during a degree program. The intent of advanced credentials is to demonstrate technical proficiency in a certain aspect of the computer engineering profession. Generally speaking, there are three types of computer engineering certifications: Vendor-specific, vendor-neutral (third-party) and general. Below are examples of each type of certification.
Sponsored by the IEEE Computer Society, a membership-based organization for computer science and technology professionals, the Professional Software Engineering Master Certification consists of proficiency certificates in twelve knowledge areas (e.g. software engineering quality, software engineering construction, software engineering management) and two advanced module examinations.
Sponsored by Cisco, the CCNPN Wireless designation demonstrates the technical expertise of professionals in wireless networking principles, design, implementation, installation and operation. The certification consists of four examinations: implementing Cisco Unified wireless networks, implementing Cisco United wireless mobility services, implementing advanced Cisco Unified wireless security and conducting Cisco Unified wireless site survey.
Sponsored by ARM, a semiconductor IP company, the AAE certification is designed for individuals working with embedded software and systems software using ARM technology. A 70-question examination tests individuals on ARM architecture, system, software optimization, software development, software debugging and implementation.
Sponsored by Microsoft, the MCSE certification is designed for IT and engineering professionals working with both on-premise and cloud-based computing systems, including business intelligence, server infrastructure, messaging, device management, desktop infrastructure and more.
Sponsored by the Software Engineering Institute at Carnegie Mellon University, CSIH certification is designed for individuals working in networking administration and security. An advanced practice designation, CSIH requires professional experience, application fees and the successful passing score of the CSIH examination.
Computer engineers should possess a professional toolbox that contains both technical and soft skills. Major knowledge areas in the field include engineering technologies, mathematics, networking, computer programming, computers and electronics, and product development. Technical knowledge includes the use of a range of tools and software including the following:
|Circuit Testing||Circuit memory tester, logic analyzers, digital analysis systems|
|Measurement||Logic probes, probe stations|
|Network analysis||Traffic generators, communications analyzers|
|Signal generation||Pattern generators, function generators, universal source generators|
|Analytical Software||Cadence Dracula, SAS Software|
|Computer-Aided Design Software||Allegro software, Cadence Concept|
|Development Environment Software||Microsoft Visual Basic, C, SystemVerilog|
|Operating System Software||Linux, UNIX|
Individuals interested in a career in computer engineering are not beholden to pursuing specific careers in hardware engineering or software development. In fact, a degree in computer engineering opens the door to multiple employment avenues, from networking to systems development, Web development to information technology. Below is a list of ten example career paths for graduates of computer engineering programs to consider.
Although each computer engineering profession differs in daily responsibilities, each converges around a single principle: improving, creating and advancing computing technologies. For example, computer systems analysts and computer support specialists both focus on solutions—the computer systems analysts concerned with developing information technology solutions, while the computer support specialist deals with software and equipment solutions for clients, customers and organizations. Indeed, there are numerous related computer engineering career paths that offer both strong employment and earning potential.