A computer scientist is someone who has secured the knowledge of computer science, through the study of the academic foundations of information and computation and their application. Computer scientists typically work on the theoretical side of computer systems, as opposed to the hardware side on which computer engineers mainly focus on.
Computer scientists can also center their work and research on specific areas, such as data structure, design, software engineering, information theory, database theory, and programming language theory. The primary goal of computer scientists is to develop and validate models, often mathematical in nature, to estimate the properties of computer-based systems with an objective of discovering designs that allow improved performance.