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?
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 eleven positions popular among MS in CS graduates—from security engineer to senior software developer—and the average salaries those roles command.
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.
Highest-Paying Jobs for MS in CS Graduates
1. Software Architect
Average Annual Salary: $125,328
Salary Range: $88,000-$165,000
Software architects design and develop software from a high-level perspective, providing software engineers with an architectural blueprint to follow. These individuals also enforce technical standards for the company, like coding standards and tools. They are expected to possess extensive knowledge of software and different coding languages, as well as an understanding of design patterns and principles.
2. Software Developer
Average Annual Salary: $107,510
Salary Range: $64,240-$164,590
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.
3. UNIX System Administrator
Average Annual Salary: $103,273
Salary Range: $78,516-$126,829
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.
4. Security Engineer
Average Annual Salary: $99,834
Salary Range: $73,000-$130,000
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.
5. DevOps Engineer
Average Annual Salary: $99,604
Salary Range: $72,000-$146,000
DevOps engineers oversee the code deployment process, acting as a bridge between developers, IT staff, and the operations team. Common tasks include building development tools and infrastructure, testing and analyzing code prior to deployment, working to automate the development process, and monitoring processes throughout the software development lifecycle.
6. Computer Scientist
Average Annual Salary: $99,050
Salary Range: $68,000-$138,000
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.
7. Mobile Application Developer
Average Annual Salary: $96,016
Salary Range: $64,000-$140,000
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.
8. Android Software Developer/Engineer
Average Annual Salary: $94,497
Salary Range: $72,000-$149,000
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.
9. Software Development Engineer (SDE)
Average Base Salary: $92,046
Salary Range: $77,000-$143,000
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.
10. Senior Software Web Developer
Average Annual Salary: $87,712
Salary Range: $58,000-$139,000
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.
11. Software Development Engineer, Test (SDET)
Average Annual Salary: $83,070
Salary Range: $61,000-$107,000
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.
Why This Alum Decided to Earn His Master’s Degree in Computer Science
The Top 10 Highest-Paying Big Data Careers
Data Scientist vs. Data Analyst: What’s the Difference?