What Type of Computer Scientist Should I Be

One press picks a kind of computer scientist to look into, with a question that field works on.

Show all 73
  1. Evolutionary computation researcherAsks how algorithms inspired by biological evolution can optimize a solution.

How it works

Studying computer science and not sure which corner of it is yours? Press the button for a kind of computer scientist, from algorithms to human–computer interaction.

Read the full guide

Thirteen headings for the whole field

The 2012 ACM Computing Classification System sorts computing research under 13 top-level headings. Among them are theory of computation, networks, software and its engineering, information systems, security and privacy, human-centered computing and computing methodologies.

The question behind the theory

Wikipedia divides the theory of computation into three major branches: automata theory and formal languages, computability theory, and computational complexity theory. One question links them: what are the fundamental capabilities and limitations of computers?

Questions and answers

What are the different types of computer scientists?

They are named for a field. Theorists study algorithms and what can be computed. Systems researchers study operating systems, networks and computer architecture. Others work on artificial intelligence, data, security, graphics, or how people use computers.

How do I know what type of computer scientist I should be?

Notice which questions hold your attention. If you like proofs, look at theory. If you like making machines cooperate, look at systems. If you like finding patterns, look at machine learning. If you like watching people use software, look at human–computer interaction.

Is a computer scientist the same as a software engineer?

Not quite. Wikipedia describes computer science as the study of computation, information and automation, and software engineering as the branch focused on designing, developing, testing and maintaining software applications.

Which computer scientists work on artificial intelligence?

Machine learning researchers study algorithms that learn from data. Computer vision researchers work on understanding digital images, natural language processing researchers on human language, and roboticists on the design and use of robots.

All 73 kinds of computer scientist

Theory and algorithms 16

  • Algorithmic game theorist Asks how to design algorithms for settings where several strategic agents interact.
  • Algorithms researcher Asks which set of instructions solves a problem, and how much time and storage it needs.
  • Automata theorist Asks which computational problems abstract machines can solve.
  • Coding theorist Asks which codes suit data compression, error correction and data transmission.
  • Complexity theorist Asks how to classify computational problems by the resources they use.
  • Computability theorist Asks which problems can be solved by an algorithm at all.
  • Computational geometer Asks how to solve problems stated in terms of geometry with algorithms.
  • Computer algebra researcher Asks how algorithms and software can manipulate mathematical expressions.
  • Cryptographer Asks how to communicate securely when an adversary may be listening.
  • Data structures researcher Asks how to organize and store data so that access to it is efficient.
  • Formal methods researcher Asks how to specify and verify software and hardware with mathematical rigor.
  • Formal verification researcher Asks how to prove that a system is correct with respect to its formal specification.
  • Information theorist Asks how information can be quantified, stored and communicated.
  • Programming language theorist Asks how programming languages should be designed, implemented and classified.
  • Quantum computing researcher Asks which calculations a computer that uses quantum states could complete faster.
  • Type theorist Asks how formal systems can classify expressions by their types.

Systems, networks and software 10

  • Compiler researcher Asks how to translate code written in one programming language into another.
  • Computer architect Asks how a computer’s parts should be organized to execute programs efficiently.
  • Concurrency researcher Asks how several computations can run during overlapping time periods.
  • Distributed systems researcher Asks how parts on different networked computers can coordinate by passing messages.
  • Embedded systems researcher Asks how to build a computer with a dedicated function inside a larger device.
  • High-performance computing researcher Asks how supercomputers and computer clusters can solve advanced problems.
  • Networking researcher Asks how computers should communicate data to one another through protocols.
  • Operating systems researcher Asks how software should manage a computer’s hardware and serve its programs.
  • Parallel computing researcher Asks how to divide a large problem into smaller ones that are solved at the same time.
  • Software engineering researcher Asks how software is best designed, developed, tested and maintained.

Data and scientific computing 8

  • Bioinformatician Asks how software can make sense of large and complex biological data.
  • Computational scientist Asks how advanced computing can solve complex physical problems in science.
  • Data mining researcher Asks how to find patterns in massive data sets.
  • Data scientist Asks what knowledge can be extracted from noisy data.
  • Data visualization researcher Asks how to design graphics that help people read data.
  • Database researcher Asks how an organized collection of data should be stored, managed and queried.
  • Information retrieval researcher Asks how to find the resources that are relevant to a search query.
  • Numerical analyst Asks which algorithms solve the problems of continuous mathematics by approximation.

Artificial intelligence 13

  • Artificial intelligence researcher Asks how machines can do tasks associated with human intelligence, such as reasoning.
  • Automated planning researcher Asks how a system can work out a strategy or a sequence of actions to carry out.
  • Computational linguist Asks how natural language can be modelled by computation.
  • Computer vision researcher Asks how a computer can acquire, analyze and understand digital images.
  • Deep learning researcher Asks how neural networks with many layers can learn tasks such as classification.
  • Evolutionary computation researcher Asks how algorithms inspired by biological evolution can optimize a solution.
  • Knowledge representation researcher Asks how to represent information in a form a computer can use to solve complex tasks.
  • Machine learning researcher Asks how algorithms can learn from data and generalize to data they have not seen.
  • Multi-agent systems researcher Asks how several interacting intelligent agents can solve a problem together.
  • Natural language processing researcher Asks how a computer can process human language.
  • Reinforcement learning researcher Asks how an agent should act in a changing environment to maximize a reward.
  • Roboticist Asks how to design, build, operate and use robots.
  • Speech recognition researcher Asks how to translate spoken language into text.

Security and privacy 7

  • Computer security researcher Asks how to protect software, systems and networks from threats.
  • Cryptanalyst Asks how the contents of an encrypted message can be reached without the key.
  • Differential privacy researcher Asks how to release statistics about a dataset while protecting each person in it.
  • Digital forensics researcher Asks how to recover and examine material found in digital devices.
  • Malware analyst Asks what a malware sample does, where it came from and what impact it could have.
  • Network security researcher Asks how to prevent and detect unauthorized access to a computer network.
  • Privacy researcher Asks how data is collected and shared, and what privacy the public expects.

Graphics and images 9

  • Augmented reality researcher Asks how to overlay real-time 3D graphics on the real world through a display.
  • Computational photography researcher Asks how computation can stand in for optical processes when a camera captures an image.
  • Computer animation researcher Asks how to generate moving images digitally.
  • Computer graphics researcher Asks how to generate images with the aid of computers.
  • Geometric modeling researcher Asks how to describe shapes mathematically.
  • Image processing researcher Asks how algorithms can process digital images.
  • Rendering researcher Asks how to generate an image from input data such as 3D models.
  • Scientific visualization researcher Asks how to show scientific phenomena graphically.
  • Virtual reality researcher Asks how to give a user the immersive feel of a virtual world.

People and computers 10

  • Accessibility researcher Asks how a computer system can be made accessible to all people, regardless of disability.
  • Affective computing researcher Asks how systems can recognize, interpret and simulate human feelings.
  • Computing education researcher Asks how computer science and computational thinking are taught and learned.
  • Cooperative work researcher Asks how people use technology together toward a shared goal.
  • Human–computer interaction researcher Asks how people operate computer systems and how the interfaces between them should be designed.
  • Interaction designer Asks how interactive digital products, systems and services should behave.
  • Social computing researcher Asks how social behavior and computational systems meet.
  • Ubiquitous computing researcher Asks how computing can appear anytime and everywhere, on any device.
  • Usability researcher Asks how users can perform their tasks safely, effectively and efficiently.
  • Wearable computing researcher Asks what a computing device worn on the body can do.