So, you want to work in computer science. Smart choice!
Comp sci is a growing field with relatively high salaries, and job security is the norm. The work is interesting and diverse; there are many different jobs you can get with a computer science degree. You don't even need a master's in computer science because there are lots of entry-level computer science jobs. And even the least fun computer science jobs tend to either pay well or lead to bigger and better things.
Working in computer science doesn't necessarily mean becoming a computer scientist, though. Unless you're thinking of launching a career as an academic or researcher—in which case, your job title might be computer scientist—you'll probably become a developer, manage information systems, or design operating systems after studying computer science. In other words, there are computer science jobs and there are computer scientists, and whether professionals who work in computer science are computer scientists is a matter of much debate.
At the heart of the debate is the question what is a computer scientist? In this article, we endeavor to answer it and cover the following:
The question 'What is computer science?' is a real stumper, which is surprising given how large an impact this discipline has on our day-to-day lives. It's tough to answer because computer science isn't a single discipline but rather a broad range of disciplines with many subfields and functions. Merriam-Webster defines computer science as "a branch of science that deals with the theory of computation or the design of computers." Other sources assert it's the study of the theories, processes, and materials used to create machines capable of computation.
The scope of computer science writ large, however, usually also includes its practical applications. Institutions of higher learning and employers treat disciplines like programming, IT, cyber security, and data science as part of computer science. Who's right?
Confusingly, everyone is. Academics, companies, and colleges are free to define computer science as broadly or as narrowly as they like to suit their purposes.
Computer scientists are people who study or solve problems related to computation. They're sometimes, but not always, researchers. What usually distinguishes computer scientists from other computer science professionals is that their work is focused on higher-level theoretical aspects of computing or the development of new technology. Some work in academia conducting research for research's sake. Others are employed by private companies that support research into potentially profitable discoveries.
There's no standard definition of 'computer scientist.' Some people and institutions only use the term when referring to computer research scientists. Others differentiate between theoretical computer scientists working in academic settings and research labs and applied computer scientists, which can include professionals working in software engineering, data science, video game development, and hardware engineering.
Ada Lovelace and Charles Babbage are arguably the first computer scientists, though it would take more than a century for anyone to use the term. Lovelace, a brilliant mathematician, wrote the first computer algorithm in 1843. Babbage mocked up a theoretical computational device that was never built but represented the first modern computer design.
It wasn't until about a hundred years later that computer scientists began building the first automatic electronic digital computers that could store programs and data. World War II was in full swing, and the field was much more interested in the practical application of computers—especially those related to artillery calculations and codebreaking—than in exploring the limits of what computers could do.
Computer science became an academic discipline in the 1960s, at which point research into computation took off. Computer scientists developed new programming systems and hardware lines. A theory of formal languages was developed. And construction began on ARPAnet, a precursor to today's Internet.
In the 1970s, computer scientists at Bell Laboratories developed Unix. Researchers began work on the first supercomputers. Huge advancements occurred in computational complexity, cryptography, and algorithm design.
Since the computer revolution of the 1980s, new fields of computer science research have emerged, including quantum computing, nanotechnology, and machine learning. Computer scientists continue to push the envelope of what computers are capable of.
Semantic issues make answering this question challenging. According to the University of California - Santa Barbara, "Computer scientists are involved in creating technology and systems used in a wide range of industries, including medicine, communications, entertainment, manufacturing, business, and science." This definition suggests software developers, hardware engineers, and network architects are all computer scientists.
The online master of computer science program at Stevens Institute of Technology has a curriculum "aligned with high-demand areas such as software development, web programming, mobile systems and applications, cloud computing, human-computer interaction, and enterprise software design."
Other sources define the scope of this role much more narrowly. In this view, computer scientists conduct research, devise new theories, and invent new processes related to:
There's no such thing as a general job description for computer scientists because the work computer scientists do differs from field to field and from employer to employer. Unfortunately, hiring managers will call anything and everything related to computers 'computer science,' so finding work as a computer scientist often involves wading through hundreds of job postings for software engineers.
To find out what kinds of jobs actual computer scientists are doing, search for different areas of expertise paired with titles like:
Computer research scientists work in just about every industry. They also work for government agencies and educational institutions. What you need to know is computer scientist jobs aren't usually industry-specific but specialty-specific.
Whether someone can move between computer scientist jobs in different fields depends on their area of expertise. Some specialty areas, like human-computer interaction and computer vision, have applications across industries. Computer scientists who work in these specialties have more freedom to make lateral career moves.
Some fields, like medicine, have specialized requirements for computer scientists that make switching between industries challenging. And computer scientists in niche areas of computer science, like biological computing, have precise domain knowledge that doesn't translate well to work in other fields.
Some computer scientists work in computer engineering, but computer science and computer engineering aren't the same thing. Computer scientists research areas of computing like computational theory, information processes, and software design. Computer engineers tackle hardware-focused challenges that combine elements of computer science, electrical engineering, and physics.
Many people study computer science before becoming software engineers, but computer scientists and software engineers do very different work. Software engineers develop and maintain software-based computer systems using principles developed by computer scientists.
Computer science and data science are closely related disciplines, and some computer scientists specialize in data science. Most data scientists, however, aren't researchers, and they spend their days using techniques borrowed from computer science to turn vast quantities of data into actionable insights.
Is IT part of computer science? Sometimes. Some schools treat information technology as part of computer science. At others, IT degrees are administered by the business school. Think of IT as the practical application of computer science principles in business and organizational settings.
You don't have to move to Silicon Valley to find computer scientist jobs. The demand for computer scientists transcends the tech world because companies across industries want to find new ways to enhance their data storage, software development, analytics, and automation capabilities.
It should come as no surprise that comp sci grads dream of working in the R&D departments of big tech companies like:
Computer scientist jobs in academia include university lecturer, professor, and researcher. The biggest pro is that if you can get tenure, you'll be set for life. Teach a few classes, and you can spend the rest of your time pursuing the research you're passionate about. Life is harder for researchers in adjunct positions with less security and for researchers who aren't also lecturers. Applying for grants to keep research projects funded can feel like a full-time job.
The federal government has a vested interest in staying up-to-date technologically, so there are computer scientist jobs across branches. You might work for the:
Computer scientists rely on computational thinking whether they work in data science, information systems, game development, or robotics. Computational thinking is a way of looking at problems and solutions as a computer does. Computers don't process information or follow commands the way humans do. When computer scientists design algorithms, develop commands for hardware, or write programs—or when they test the limits of what computational devices are capable of—they have to use specific computational steps that can be executed by a computer.
This joke is a good example of why understanding computational thinking is so essential: A wife tells her husband, "I need butter, sugar, and cooking oil. Also, get a loaf of bread and if they have eggs, get six." The husband returns with the butter, sugar, and cooking oil, as well as 6 loaves of bread. The wife asks, "Why did you get six loaves of bread?" The husband, a programmer, replies, "They had eggs."
You can't answer the question 'What is a computer scientist?' without considering the skills these professionals have. In general, successful computer scientists have skills related to:
The technical skills computer scientists use most often may be related to a specific branch of computer science. Even so, all computer scientists have well-developed problem-solving skills because solving problems is what computer science is all about.
There's no such thing as a one-size-fits-all computer science resume. You can find many examples of computer scientist resumes online, but your resume's content will be dictated by your experience and your area of specialization.
According to PayScale, average salaries in computer science are around $79,000, regardless of highest level of education. Just be aware that figure was calculated using self-reported data submitted by everyone from associate's degree holders earning $45,000 at the helpdesk to bachelor's degree holders earning $85,000 to self-taught, freelance coders earning who knows how much. That's problematic because it lumps computer scientists in with professionals working in computer science jobs.
Here's what we know:
Average salaries in computer science don't tell you much because location, job title, education, and area of specialization play a role in how much jobs for computer scientists pay. We've already shown that MSCS and PhD holders earn more than computer scientists with other degrees.
It may surprise you to learn, however, that a computer scientist working in Boston might earn $105,000 while another working in Duluth might earn just $79,000 doing the same work. If a research scientist has computer vision skills, they'll earn a few thousand dollars more. The same is true for PhDs who specialize in human-computer interaction.
There aren't any true entry-level computer science jobs because becoming a computer scientist means getting a master's degree. Plenty of aspiring computer scientists start out in lower-paying junior and associate roles after pursuing a full-time or part-time comp sci degree, but they advance quickly after going to graduate school. Keep in mind that "lower-paying" in this discipline could mean earning $65,000.
Averages tell us very little, so let's look where computer scientist salaries are headed. According to data collected by the National Association of Colleges and Employers, salaries for newly minted comp sci grads are trending up. The supply of computer scientists hasn't yet caught up with demand, and maybe never will, so salaries should stay high, at least in the near future.
Computer scientist jobs pay well and there are plenty of them. This isn't an easy field, however. As one commenter in a Reddit thread about whether computer science is hard put it, you'll need to "develop an entirely different way of thinking, which in the early stages is very frustrating and sometimes feels completely hopeless."
Many people drop out of computer science degree programs because they don't understand these programs are extremely math- and logic-focused. You can code apps or become a UX designer without graduating from an MSCS program, but you'll need one to become a computer scientist.
Becoming a computer scientist is technically a matter of getting a master's in computer science or a PhD and then finding a position related to your specialty area.
Of course, it's not that simple. The top graduate programs admit non-CS majors but are hugely competitive. There are still structural barriers keeping People of Color and women from reaching their potential in the field. And schools don't know how to prepare high school students for futures in this field, which is why there's so much confusion about what computer science is and what it is not in the real world.
In the Reddit thread linked above, another commenter pointed out that computer science isn't the study of computers, but "a branch of discrete math that outgrew being a part of academic mathematics departments." The first step in your journey won't be signing up for a degree program but instead deciding if this is really what you want to spend your life doing. You don't need to become a computer scientist to make video games or work with information systems. But if you want to push the limits of what's possible in computation—and you don't mind doing a lot of math—then this might be the path for you.
Questions or feedback? Email firstname.lastname@example.org