Career Opportunities for Computer Science Majors

Computers have become a ubiquitous part of modern life, and new applications are introduced every day. The use of computer technologies is also commonplace in all types of organizations, in academia, research, industry, government, private and business organizations. As computers become even more pervasive, the potential for computer-related careers will continue to grow and the career paths in computer-related fields will become more diverse.

The career opportunities for computer science graduates can be classified into seven categories: programming and software development, information systems operation and management, telecommunications and networking, computer science research, web and Internet, graphics and multimedia, training and support, and computer industry specialists. Some careers require additional formal training or study, and experience working in the field. For example, an MBA degree is helpful to management consultants, a course work in biology and biochemistry is needed for bioinformatics specialists, and an advanced degree in computer science is usually required for data miners.

Most of the descriptions below are collected from the following references. Students should refer to these references for details.

[1] Harry Henderson (2004). Career opportunities in computers and cyberspace. Checkmark Books, New York.
[2] Jan Goldberg (1998). Great jobs for computer science majors. VGM Career Horizons, Chicago.

Programming and Software Development

Systems analyst

Determines an organization's needs and designs programs to meet them. Acts as a problem solver who specialize in how information flows from information sources to computers. Supervises lower-level programmers.

Systems consultant

Works under contract to install or configure hardware or software, write or customize programs, or otherwise help solve information processing problems for an organization. Business-related courses are helpful.

Software engineer

Designs and writes complex computer programs as part of a software development team. Applies principles of computer science to solve practical problems.

Systems programmer

Designs and writes programs that interface with a computer's low-level operating system, such as device drivers and utilities.

Database analyst

Designs and creates programs used to collect, maintain, and analyze data needed by business, government, or other institutions. Adapts programs to changing business needs.

Artificial Intelligence programmer

Applies principles of artificial intelligence to design and implement systems that perform complex tasks. Applications include: expert systems that apply rules to making decisions, such as scheduling freight shipments or diagnosing disease; pattern recognition systems that give robots the ability to see and understand objects in their environment; neural network programs that can learn to perform tasks by constantly re-evaluating their performance.

Scientific applications programmer

Works closely with scientists and engineers to write programs that simulate natural phenomena or analyze experimental results, or apply scientific or engineering principles to research or manufacturing.

User interface designer

Designs the menus, icons, and other features that people will use to interact with a computer program or operating system. Needs to have empathy with computer users and artistic sense of composition.

Embedded systems application programmer

Designs and develops applications for appliances and entertainment products such as PDA, mobile phone, mp3 player.

Information Systems Operation and Management

Electronic data processing (EDP) auditor

Closely examines data processing operations to guard against loss through mistakes, carelessness, or fraud. Often work in banks, insurance companies, accounting firms, and other organizations that use a large amount of financial data.

Database administrator

Takes overall responsibility for the usage, accuracy, efficiency, security, maintenance of an organisation's database systems. Coordinates development and use of data resources.

Systems administrator

Responsible for managing the operation of a multi-user computer system or network so that it runs reliably and meets user's needs; updates and configures software and hardware; provides assistance to users and managers.

Computer security specialist

Protects computer systems from illegal intrusions, viruses, data theft, fraud, or other forms of tampering.

Management/IT consultants

Uses problem solving skills and computer knowledge to solve business and management problems for organizations and foster improvement in areas such as organization structure, business communication, and productivity. Defines and analyzes problem, interviews employees, develops possible solutions, and presents options to client.

Information systems manager

Oversees all operations in an organization's information system department, including technical support, training, network, and database operations. Ensures that everyone in the organization has timely, reliable access to the computer system and its databases and other resources.

Chief information officer (CIO)

Serves as the highest information services executive for a major corporation. Responsible for long-term planning and setting organization-wide policy and standards relating to all computer-related activities.

Telecommunications and Networking

Network engineer/consultant

Plans for the installation or expansion of local or wide-area computer networks. Performs complex configuration of servers, hubs, routers, and other network communications equipment. Writes scripts or programs to automate network operations.

Network administrator

Takes overall responsibility for the operation and planning for a local or wide-area computer network. Plans expansion; selects appropriate network operating system and software tools; configures major features; deals with connection between local network and Internet; establish procedures for support staff and users.

Computer Science Research

Computer scientist/researcher

Applies theoretical expertise to complex problems and develop innovative ideas necessary for the application or creation of new technology. They usually work in research labs or academic institutions.

Computer science professor

Teaches college courses in computer science theory, performs research and supervises student research. May serve as consultant to government or business.

Artificial Intelligence researcher

Develops programs to imitate the thinking and reasoning processes of the human brain; for example, recognize voices and objects, speak in a humanlike voice.

Data miner

Analyzes databases in business, government, or scientific applications in order to extract additional information or find useful patterns. Needs familiarity with major database and statistical packages.

Bioinformatics specialist

Organizes and manipulates information relating to genetic sequences, molecular structure, and other data relevant to the biological sciences. Should be familiar with genetics and biochemistry.

Medical imaging specialist

Develops image processing and pattern recognition algorithms for analyzing medical images to diagnose disease.

Web and Internet

Internet applications programmer

Develops programs that add features such as forms and animation to Web sites or that provide tools to help users get the most out of Internet.

Internet consultant

Uses some combination of analysis, design, programming, and support skills to help clients with the design of Internet sites and configuration of Internet software and connections.

Webmaster

Creates or maintains a Web site. Provides content and programming or supervises writers and programmers. Monitors the performance and popularity of the site. Provides secure forms and transactions for Internet-based businesses.

Internet advertising designer

Creates effective advertising features for Web sites, including animation, sound, and text.

Graphics and Multimedia

Animation/Special effects developer

Develops software programs for creating sequences of computer images for games or movies.

Multimedia developer

Uses design and programming skills to create interactive multimedia products that combine sound, images, and text.

Computer game designer/programmer

Designs or writes computer games or game engines. Develop algorithms that make the characters realistic and intelligent.

Electronic sound producer

Creates the music, voice, and sound effects for multimedia or computer games. Integrates sound into the overall design of the multimedia product.

Training and Support

Technical support representative

Answers questions from computer users and solves problems with the installation or operation of software. Researches problems using manuals, help files, and online knowledge bases.

Trainer, software applications

Teaches specific courses in computer software or operating systems. May work within a corporation or at a school.

Technical writer

Writes instructional guides and other materials that explains how to use computer systems, software, operating systems, or programming tools. Researches and writes reviews and feature articles suited to specific reader profiles.

Computer Industry Specialists

Systems integrator

Combines computer hardware and software from a variety of manufacturers to create the best possible system for a client's needs.

IT recruitment consultant

Obtains the brief for job vacancies from clients, then matches candidates with the relevant qualities to these vacancies and arranges interviews with the clients.

IT sales professional

Gives technical advice and guidance to customers pre or post installation of their computer systems.

Journalist, computer-related publications

Gathers facts on people and events in the computer industry; writes news stories for computer magazines or the Internet.