If you’re considering earning a Master of Science in Computer Science (MS in CS), then you undoubtedly have a lot of questions running through your mind:
- What can I do with an MS in CS?
- What kind of jobs do MS in CS graduates typically hold?
- Will earning my MS in CS help me get a job after I graduate?
- Is earning a master’s degree in computer science even worth it?
All of these questions are important to answer before deciding to pursue a graduate degree, but the last one is especially critical. Before you invest the time, effort, and money into earning any degree, you should know whether or not that investment is going to lead to the kind of returns you want.
Do I Need a Master’s Degree to Reach My Career Goals?
Whether or not earning a degree is “worth it” depends, largely, on how you personally define “worth.” What needs to happen, in your mind, to make earning a specific degree worthwhile? Does it need to lead to a certain job or career path? Does it need to offer job growth and stability? Does it need to offer a certain salary?
Download Our Free Guide to Breaking into Computer Science
Whether you have a technical or non-technical background, here’s what you need to know.
Many people use salary to decide whether or not earning a particular degree is worthwhile, and for good reason: It’s an easy way to gauge return on investment. If being paid a high salary is important to you, then earning an MS in CS is one way of getting there.
A report from the White House predicted that, by 2020, there will be 1.4 million computer science-related jobs available—and only about 400,000 computer science graduates who have the skills necessary to fill them. Because of this high demand and low availability of skilled professionals, pay in the field is expected to remain high, especially for roles that require more education than a bachelor’s degree.
To put this into perspective, below is a look at nine positions popular among MS in CS graduates—from security engineer to senior software developer—and the average salaries those roles command.
Highest-Paying Jobs for MS in CS Graduates
1) Software Development Engineer (SDE)
Salary Range: $89,000–$135,000
Average Annual Salary: $114,125
Software Development Engineers, otherwise known as SDEs, can work in any number of industries to design, build, and maintain an organization’s computer systems and software. Tasks associated with the title can vary substantially, and rely on skills ranging from computer science to information analysis and computer engineering.
2) Computer Scientist
Salary Range: $77,000–$153,000
Average Annual Salary: $111,405
A computer scientist is responsible for developing computer-based tools used by their organization. Depending on the kind of company this might range from designing a database or developing an algorithm that helps the organization operate with more efficiency and productivity. As such, familiarity working with and developing algorithms and software is essential, as is knowledge of various programming languages that might include SQL, C++, Python, Java, XML, or others.
3) Security Engineer
Salary Range: $93,000–$155,000
Average Annual Salary: $129,847
Security engineers are responsible for developing and implementing security systems and protocols for their organization. Common tasks include identifying security solutions and implementing defense layers; configuring firewalls and detection systems; responding to network intrusion; testing new hardware and software; and regularly testing system defenses to preempt breaches.
4) Software Developer
Salary Range: $66,740–$166,960
Median Annual Salary: $110,000
Software developers are largely responsible for computer applications, or programs, that allow users to perform tasks on a computer or electronic device. Depending on the field, they would be expected to be familiar with computer languages such as HTML, C++, Java, Python, and PHP, in addition to a variety of operating systems. Common tasks include writing and debugging code for event-driven applications; modifying software; and testing and documenting applications.
5) Mobile Application Developer
Salary Range: $61,660–$161,290
Median Annual Salary: $103,620
Mobile application developers are responsible for developing applications that are used on mobile devices. In addition to familiarity with a number of programming languages and mobile operating systems, they must have a clear understanding of user experience (UX) in order to create an app that meets the expectations of the end-user.
6) Android Software Developer/Engineer
Salary Range: $63,000–$145,000
Average Annual Salary: $94,241
Android software developers are similar to mobile application developers in terms of responsibilities, but with a clear and strong focus on working within the Android platform. While specializing in working with Android, they must also have a clear understanding of user experience (UX) to ensure that the end product meets user expectations. Typical tasks include writing and modifying software as necessary, testing, debugging, and documenting issues with applications, and more.
7) Senior Software Web Developer
Salary Range: $74,000–$128,000
Median Salary: $95,791
Senior software web developers use their skills to write and debug code for websites, logic servers, and databases. Depending on the job, they would be expected to be at least familiar with a number of programming languages, such as C#, F#, ASP, and SQL Server. Common tasks might include working with designers and content producers; writing code that builds websites, databases, and logic servers; testing and documenting software; and debugging software.
8) UNIX System Administrator
Salary Range: $87,264–$111,706
Median Salary: $99,793
A UNIX system administrator is responsible for maintaining a UNIX computer operating system at a given organization or facility. UNIX systems are less common today than they were in the past, but many organizations still operate on UNIX or UNIX-like operating systems, allowing UNIX system operators to command high pay for their services. Common tasks performed by UNIX system administrators include installing, configuring, maintaining, and upgrading software and hardware critical to the UNIX system; establishing a series of standards and procedures to be followed; and troubleshooting any issues that might arise during operation of the server.
9) Software Development Engineer, Test (SDET)
Salary Range: $83,000–$111,000
Median Salary: $96,991
Software Development Engineers, Test—otherwise known as SDETs—are software developers who specifically focus on testing. In addition to debugging software, they are responsible for altering code as necessary to resolve issues. Their responsibilities are often a mix of those typically belonging to developers and testers. In addition to understanding a number of programming languages, SDETs must understand how an end-user is likely to use a software or application so that they can better perform their testing and ensure that it lives up to expectations.
Know Your Worth
Before you decide to pursue any degree, it’s important to understand how that degree will impact your career trajectory and earning potential.
The jobs listed above are common in the field of computer science. Though most only require a bachelor’s degree in computer science, earning your master’s degree in computer science could help you reach your career goals. By broadening your skills and becoming familiar with a broader range of languages, systems, and processes, an advanced degree can help set you apart from the competition, and potentially land a higher starting salary.
Editor’s note: This article was originally published in October 2017 and has since been updated for accuracy.