This article needs additional citations for verification. (June 2012) (Learn how and when to remove this template message)
Computer scientists typically work on the theoretical side of computer systems, as opposed to the hardware side that computer engineers mainly focus on (although there is overlap). Although computer scientists can also focus their work and research on specific areas (such as algorithm and data structure development and design, software engineering, information theory, database theory, computational complexity theory, numerical analysis, programming language theory, computer graphics, and computer vision), their foundation is the theoretical study of computing from which these other fields derive.
A primary goal of computer scientists is to develop and validate models, often mathematical in nature, to estimate the properties of computer-based systems (processors, programs, computers interacting with people, computers interacting with other computers, etc.) with an overall objective of discovering designs that allow improved performance (faster, smaller, cheaper, more precise, etc.).
Most computer scientists are required to possess a Ph.D., M.S., or B.S. in computer science, or other similar fields like Information and Computer Science (CIS), or a closely related discipline such as mathematics or physics. A strong aptitude for mathematics is important for a computer scientist.
Good communication skills are also important for a computer scientist, since a key part of being a good scientist is conveying results for use by others; generally via well-crafted publications and presentations. Further, since computer scientists often work in teams on real-world projects, they must be able to communicate effectively with computer personnel, such as programmers and managers, and with users or other staff who may have no technical computer background.
Areas of specialization
Computer systems – including computer architecture and computer engineering, computer performance analysis, concurrency, and distributed computing, computer networks, computer security and cryptography, and databases.
Software engineering - the application of engineering to software development in a systematic method
Computer scientists are often hired by software publishing firms, scientific research and development organizations where they develop the theories that allow new technologies to be developed. Computer scientists are also employed by educational institutions such as universities.
Computer scientists can follow more practical applications of their knowledge, doing things such as software engineering. They can also be found in the field of information technology consulting, and may be seen as a type of mathematician, given how much of the field depends on mathematics.
Computer scientists employed in industry may eventually advance into managerial or project leadership positions.
Employment prospects for computer scientists are said to be excellent. Such prospects seem to be attributed, in part, to very rapid growth in computer systems design and related services industry, and the software publishing industry, which are projected to be among the fastest growing industries in the U.S. economy.
- Orsucci, Franco F.; Sala, Nicoletta (2008). Reflexing Interfaces: The Complex Coevolution of Information Technology Ecosystems, Information Science Reference. p. 335.
- "Computer and Information Research Scientists". U.S. Bureau of Labor Statistics. 29 March 2012. Retrieved 2012-06-03.
- "Fields of Employment for Physics Bachelors in the Private Sector, Classes of 2011 & 2012 Combined". American Physical Society. Retrieved 26 September 2016.
- Perry, Benjamin Beau. "What is a computer scientist?". The University of Newcastle.
- "Computing Degrees & Careers – Computer Science". Computingcareers.acm.org. Retrieved 2012-06-03.