On This Page:
Considering your next steps as you pursue a career in a rapidly growing field? This practical guide to the MS in software engineering is built for you. We cover everything you need to know about earning a master’s degree in software engineering, including how these programs work, how much they cost, and how they’re viewed in the job market. Learn more about coursework, admission requirements & tuition costs and find answers to important questions about your Return on Investment (ROI).
Ready to make a shortlist of programs? Kick-start your research by exploring our state-by-state listings of MS in software engineering degrees.
What is a Master’s in Software Engineering?
A master’s in software engineering (MSE or MSSE) is a graduate degree that teaches students to design, develop, test, and maintain software applications. Over the course of two years, students learn the programming languages and software development tools needed to create reliable software systems. But graduate coursework goes beyond technical skills—you’ll also learn how to manage projects and teams while communicating effectively with clients and higher-ups.
A master’s in software engineering is the highest level of education that most in this field will achieve. The degree gives graduates a “leg up” on the competition for the most sought-after positions and highest salaries. Doctorates in software engineering and related fields (e.g. software development) do exist, but are better suited for careers in academia or research. Even if you are interested in earning a PhD, most schools require you to complete a master’s degree first.
Software-Focused Majors: Your MS Degree Options
MS in Software Engineering
When you enroll in a Master of Science (MS) in Software Engineering program, you’ll be taking a scientific and research-oriented approach to the field. In addition to 500- and 600-level coursework, graduate programs often include a thesis or research project. Typical subjects include software development processes, software requirements, and software testing. Other courses may revolve around database systems, computer networks, and security.
MS in Software Development
While software engineers focus on large-scale projects, software developers work on specific applications, features, or products. In an MS in Software Development program, you’ll learn how to design, develop, test, and deploy software solutions. Classes might cover topics like web applications, human-computer interaction, and mobile development. You might also take classes on project management and product management.
Alternative Degree Options
At the graduate level, you may also wish to explore programs in which software engineering or development concentrations are attached to an MS in either computer science, information systems, or information technology. Since many software engineering skills are required for these fields, coursework and focus areas often overlap. Examples include:
- MS in Computer Science (MSCS): Software Engineering Specialization
- MS in Information Technology (MSIT): Software Engineering Specialization
- MS in Information Systems (MSIS)
These types of master’s degrees focus on the applications of software engineering & development, rather than theory and research. Information technology, information systems, and computer science are unique disciplines; software engineering coursework in these MS programs will concentrate only on areas that are relevant to that field.
MS Program Overview: Curriculum, Admission Requirements & Costs
Structure & Timeline
- Two-Year Program: The most popular way to earn your degree is by enrolling in a two-year program. These programs typically require between 30-38 credits and can be completed in as little as 24 months.
- Part-Time Program: As people look for ways to balance their work and personal lives, part-time and online MS programs are becoming more popular. Part-time students can expect to finish a master’s degree in two to six years. Auburn University and Tufts University are just two examples of schools that allow students up to six years to complete their programs.
- Accelerated One-Year Program: If you’re interested in finishing your degree as quickly as possible, some schools offer one-year accelerated master’s programs. If you choose this route, you’ll need to have a strong academic record and significant experience in the field. You can also expect a more rigorous course load, since it is compacted into one year.
- 4+1 Program: Some schools offer four-year bachelor’s/one-year master’s programs in software engineering. These “4+1” programs allow students to complete their undergraduate and graduate degrees in five years instead of six.
Most MS degrees fall somewhere between 30-40 credits, which equates to 10–13 classes in total. On the high end, master’s programs in software engineering can require up to 48 credits. Harvard University’s MLS in Software Engineering is one such example.
MS in Software Engineering: Curriculum
Standard Coursework
Each MS in software engineering will have its own electives, specializations, and core courses. See our listings for examples. Although the delivery will vary based on professors, program structure, and length, some common areas of focus include:
- Software Design: You’ll learn how to design large-scale software systems. This will include everything from the requirements-gathering process to development, testing, and deployment phases.
- Software Architecture: In this concentration, you’ll learn how to design software systems that are scalable, reliable, and maintainable. You’ll also focus on creating software that can be easily integrated into larger systems.
- Software Testing and Quality Assurance: QA and testing play a critical role in the software development process. In this concentration, you’ll learn how to design and implement testing strategies. This will include everything from unit testing to usability testing.
- Software Project Management: In most organizations, software development projects are team-based. As a result, project management skills are essential for software engineers. Most master’s curricula will include at least one course on project management principles like Agile methodology.
- Cloud Computing: Cloud infrastructure takes many forms, from Amazon Web Services to Azure to private clouds. There are certifications and courses offered by each respective provider, but your master’s program will give you hands-on experience working with cloud-based applications.
- Databases: Data is the lifeblood of any software application. In this concentration, you’ll learn how to work with different types of databases, including relational (e.g. MySQL, Oracle, SQL Server) and NoSQL (e.g. MongoDB, Cassandra, Hadoop). You’ll also learn how to design database architectures and optimize queries for performance.
- Programming Languages: As a software engineer, you’ll need to be proficient in at least one high-level programming language. Many master’s programs will allow you to choose a concentration in a specific language such as Java, C++, or Python.
Specialized Areas
Almost all master’s programs in software engineering will touch on the subjects and topics mentioned above. However, you will also find graduate degrees that allow you to concentrate on specialized areas such as:
- Security
- Embedded Systems
- Human-Computer Interaction
- Usability
- Mobile Development
- Web Applications
- Distributed Systems
There are even interdisciplinary programs that focus on the intersection of software engineering and another field. For example, you might find a program with a concentration in healthcare informatics (e.g. University of San Diego) or FinTech (e.g. Duke University). These programs will include courses from both software engineering and the chosen discipline.
Master’s Thesis
Your master’s thesis is an in-depth research project that you’ll complete over the course of your program. In most cases, you’ll work with a faculty advisor to choose a topic and develop a research plan. Once your proposal is approved, you’ll collect data and evidence to support your thesis. This process usually takes 1–2 years to complete.
- Some schools, like the University of Georgia, offer non-thesis options. However, a written project is helpful for deepening your knowledge in a specific area of interest.
- If you’re planning on continuing your education with a PhD, then a master’s thesis is usually required for admission. You may also be able to show your thesis to prospective employers as evidence of your expertise in a certain area.
View examples of software engineering theses.
MS Admission Requirements & Prerequisites
Admission Requirements
The field of software engineering is becoming increasingly popular, so applying to a master’s program in software is going to be competitive. Most software engineering master’s programs—both online and on-campus—have similar requirements. Schools will typically expect to see:
- Bachelor’s Degree: Those applying must show completion of a bachelor’s degree from a regionally accredited college or university. Many candidates will have a BS in computer science, software engineering, or information technology. Some schools, like the University of Utah, don’t require a specific major. But, as a general rule, you will be better positioned to succeed in a master’s program if your undergraduate degree is in a related field.
- Minimum GPA & GRE: A minimum GPA of 3.0 is often the standard for undergraduate coursework (although 3.5 or higher will significantly improve your chances of admission). Many schools will ask for GRE scores as well.
- Letters of Recommendation: These letters of recommendation should be from professors and/or employers.
- Writing Sample: Most admissions counselors will ask for a writing sample—often a statement detailing why you want to pursue a master’s degree in the software engineering field.
- Work Experience: Some institutions prefer candidates with 2+ years of work experience in a related field such as computer science.
- Interview: If you’re applying to a top school, like Stanford or an Ivy League, you can count on interviewing at least once.
Prerequisite Coursework & Knowledge
It’s okay if your undergraduate degree isn’t in computer science or software development. Not everyone who applies to a software engineering master’s program has a relevant undergraduate degree. You’ll find software engineering students with backgrounds in mathematics, physics, economics, and psychology (just to name a few). While some schools will require a certain undergraduate degree, others will offer prerequisite coursework to help applicants from non-computer science backgrounds get up to speed on core subjects.
In general, you should have a basic knowledge of statistics, discrete mathematics, and various programming languages. Without previous undergraduate coursework in these fields, your master’s in software engineering will be difficult to complete. Common prerequisites for the MS degree include:
- Data structures
- Algorithms
- Programming languages (Java, C++, Python, etc.)
- Operating systems (Linux, Windows, macOS)
- Databases (MySQL, MongoDB, Oracle, etc.)
- Computer networks
- Discrete mathematics
- Calculus
- Probability and statistics
For a real-world example, take a look at the University of Michigan-Dearborn and the list of prerequisite undergraduate credits for its MS in Software Engineering (SWE).
Tuition Costs for Software Engineering Master’s Programs
Draw up a comprehensive budget for your degree before you commit to a school. The total cost of attendance for a software engineering master’s program should include tuition, fees, books and supplies, room and board, and other expenses.
- Tuition-Friendly Schools: According to research from the College Board, public schools charged an average of $9,000 during the 2021–2022 calendar year and private colleges charged $29,670 per year. West Virginia University’s MSSE is one example that sits on the lower end of this spectrum; in 2023, WVU charged just under $21,000 for its 30-unit program.
- Higher-Priced Schools: On the higher end, a master’s degree from Johns Hopkins University will cost around $50,000. Johns Hopkins University is a private institution that is consistently ranked as one of the best in the United States, and prospective master’s students who want to apply to a similar school should expect to pay a similar tuition rate.
There are many ways to finance your education, including student loans, scholarships, grants, and fellowships. You can also look into employer reimbursement programs—some companies will cover part (or all) of the cost of your degree if it’s relevant to your position.
Master’s in Software Engineering Career Outlook
What Can You Do with a Master’s in Software Engineering?
The answer to this question will depend on your background and professional experience prior to completing the degree. If you’re a recent undergrad who’s looking to enter the software engineering field or a working professional interested in building on your experience and advancing your career, it may be an excellent educational investment. For example:
- Ladder Climbers: Imagine you took an entry-level software engineering position after graduating from an undergraduate program. With a master’s degree, you might be able to transition into a management position or assume a more technical role, such as lead software developer or architect.
- Career Changers: If you don’t have much (or any) prior professional experience, then a master’s in software engineering will help you land your first job as a software engineer, developer, or programmer. Employers may prefer to see some work experience, but a graduate degree gives you an advantage over other candidates.
Additional Career Opportunities
Once you have earned your master’s degree, you also have the option to:
- Utilize school-organized job fairs and career services to land a high-paying job with a top company
- Leverage your new experience in interviews with new companies post-grad
- Work with your current employer to earn a promotion based on your master’s degree completion
- Pursue a PhD in software engineering if you’re interested in academia or want to conduct research
- Start your own company with the knowledge and skills you’ve acquired during your studies
You may also be interested in working as a consultant, helping companies with specific software engineering projects.
MS in Software Engineering: Job & Salary Statistics
Job Market for Software Engineers
According to reports from Indeed and LinkedIn, software engineering is now one of the best career paths in the country. The U.S. Bureau of Labor Statistics (BLS) agrees—the BLS projects software development & engineering jobs will grow 25% over the next decade. Compare this number with the average for all occupations, which is 5%.
In 2020, the BLS noted that over 1.8 million people were employed as software developers, QA analysts, and other positions in the software development field. And a 2021 CareerBuilder survey found that 41% of employers look for candidates who hold a bachelor’s degree and 33% look for those with a master’s degree.
Salary Numbers for MS in Software Engineering Graduates
According to PayScale, the average median salary of a software engineering master’s degree holder is $89,161. When you factor in bonuses and profit sharing, that number jumps significantly. If you work for a major tech innovator like Uber (which pays its interns nearly $10,000 per month), this figure is much higher. Even in New York City, an entry-level software engineer’s salary is enough to live “comfortably” in most cases.
Is a Master’s in Software Engineering Worth It?
Pros of a MS in Software Engineering
Is software engineering right for you? Only you can decide if this technical role matches your long-term goals. However, positives such as flexibility, career security, high salary averages, and employer demand are tough to beat.
- Return on Investment (ROI): If you have no student loan debt and you’re sure you want to work in software engineering, a master’s degree is definitely a good investment. For example, with a tuition cost of $21,000 at West Virginia University and an average salary of $89,161, you’ll be able to pay off any debt you have relatively quickly. If your employer is willing to reimburse you for part (or all) of the cost of your degree, that’s even better.
- Network Building: Networking opportunities are another major benefit of earning a master’s degree in software engineering. “Your network is your net worth,” and MS in software engineering students often have the opportunity to connect with industry leaders, potential employers, and like-minded students. Plenty of companies also recruit directly from graduate programs.
Cons of an MS in Software Engineering
But it’s important to remember that a master’s degree is not a guarantee of a high-paying job—or any job, for that matter. If you live in an area with a high cost of living, face financial barriers, or are uncertain about your career goals, you might want to consider other options.
Anyone who is already on the hook for student loan debt from their undergraduate degree should also compare the pros & cons of a master’s degree carefully. If you need a graduate qualification to advance in your career, you may wish to consider a part-time program while you continue to work & pay down debt.
Ultimately, the decision whether to pursue a master’s in software engineering is a personal one. Weigh the financial, social, and intellectual benefits of the degree against your own unique circumstances to decide what’s best for you.
All Master's in Software Engineering Programs
87 Schools Found
Alabama
Auburn University
College of Engineering
Auburn University, Alabama
University of Alabama in Huntsville
Electrical and Computer Engineering Department
Huntsville, Alabama
Arizona
Arizona State University
Ira A. Fulton Schools of Engineering
Tempe, Arizona
Embry-Riddle Aeronautical University
Department of Computer, Electrical, and Software Engineering
Prescott, Arizona
University of Advancing Technology
Graduate Technology College
Tempe, Arizona
MS in Software Engineering
Offered Online
California
California State University-Fullerton
Extension and International Programs
Fullerton, California
California State University-Northridge
Department of Computer Science
Northridge, California
California State University-Sacramento
Department of Computer Science
Sacramento, California
International Technological University
Department of Computer Science
San Jose, California
Naval Postgraduate School
Department of Computer Science
Monterey, California
San Jose State University
College of Engineering
San Jose, California
University of California-Irvine
Department of Informatics
Irvine, California
University of Southern California
Viterbi School of Engineering
Los Angeles, California
Colorado
University of Colorado Colorado Springs
Department of Computer Science
Colorado Springs, Colorado
University of Denver
Division of Information and Communications Technology
Denver, Colorado
Connecticut
Central Connecticut State University
Department of Computer Science
New Britain, Connecticut
Fairfield University
School of Engineering
Fairfield, Connecticut
Southern Connecticut State University
Department of Computer Science Programs
New Haven, Connecticut
Florida
Florida Institute of Technology
College of Engineering & Sciences
Melbourne, Florida
Nova Southeastern University
College of Computing and Engineering
Fort Lauderdale, Florida
University of Miami
College of Engineering
Coral Gables, Florida
Georgia
Kennesaw State University
College of Computer and Software Engineering
Kennesaw, Georgia
MS in Software Engineering
Offered Online
Illinois
DePaul University
Jarvis College of Computing and Digital Media
Chicago, Illinois
Illinois Institute of Technology
Electrical and Computer Engineering and Computer Science Departments
Chicago, Illinois
Loyola University Chicago
Department of Computer Science
Chicago, Illinois
University of Chicago
Department of Computer Science
Chicago, Illinois
Indiana
Rose-Hulman Institute of Technology
Department of Computer Science & Software Engineering
Terre Haute, Indiana
Iowa
Maharishi University of Management
Department of Computer Science
Fairfield, Iowa
University of Iowa
Department of Electrical and Computer Engineering
Iowa City, Iowa
Kansas
Fort Hays State University
Graduate School
Hays, Kansas
Kentucky
National College
Department of Information Technology
Lexington, Kentucky
Maryland
Johns Hopkins University
Whiting School of Engineering
Baltimore, Maryland
University of Maryland-Baltimore County
Office of Professional Programs
Baltimore, Maryland
University of Maryland-College Park
Maryland Applied Graduate Engineering (MAGE)
College Park, Maryland
Massachusetts
Boston University
Department of Computer Science
Boston, Massachusetts
MS in Software Development
Offered Online
Harvard University
Harvard Extension School
Cambridge, Massachusetts
MLA in Software Engineering
Offered Online
Northeastern University
College of Engineering
Boston, Massachusetts
Tufts University
Department of Computer Science
Medford, Massachusetts
Michigan
Lawrence Technological University
Department of Math + Computer Science
Southfield, Michigan
Oakland University
School of Engineering and Computer Science
Rochester Hills, Michigan
University of Detroit Mercy
College of Engineering & Science
Detroit, Michigan
University of Michigan-Dearborn
College of Engineering & Computing Science
Dearborn, Michigan
Minnesota
Saint Cloud State University
Department of Computer Science and Information Technology
Saint Cloud, Minnesota
University of Minnesota-Twin Cities
College of Science & Engineering
Minneapolis, Minnesota
University of St. Thomas
School of Engineering
Saint Paul, Minnesota
Missouri
Saint Louis University-Main Campus
College of Arts and Sciences
Saint Louis, Missouri
New Jersey
Monmouth University
Department of Computer Science and Software Engineering
West Long Branch, New Jersey
New Jersey Institute of Technology
Ying Wu College of Computing
Newark, New Jersey
Stevens Institute of Technology
School of Systems and Enterprises
Hoboken, New Jersey
New York
CUNY City College
The Grove School of Engineering
New York, New York
Marist College
School of Computer Science and Mathematics
Poughkeepsie, New York
Pace University-New York
Seidenberg School of Computer Science and Information Systems
New York, New York
Rochester Institute of Technology
Department of Software Engineering
Rochester, New York
North Carolina
Duke University
Electrical & Computer Engineering Department
Durham, North Carolina
East Carolina University
Department of Computer Science
Greenville, North Carolina
North Carolina State University at Raleigh
Department of Computer Science
Raleigh, North Carolina
University of North Carolina Wilmington
Cameron School of Business
Wilmington, North Carolina
North Dakota
North Dakota State University-Main Campus
College of Engineering
Fargo, North Dakota
Ohio
Bowling Green State University
Department of Computer Science
Bowling Green, Ohio
Cleveland State University
Washkewicz College of Engineering
Cleveland, Ohio
University of Cincinnati
College of Engineering & Applied Science
Cincinnati, Ohio
Oregon
Oregon State University
Electrical Engineering and Computer Science Department
Corvallis, Oregon
Pennsylvania
Carnegie Mellon University
Tepper School of Business and School of Computer Science
Pittsburgh, Pennsylvania
Drexel University
College of Computing & Informatics
Philadelphia, Pennsylvania
Gannon University
Department of Computer and Information Science
Erie, Pennsylvania
Harrisburg University of Science and Technology
Computer Science & Software Engineering
Harrisburg, Pennsylvania
Kutztown University of Pennsylvania
Computer Science & Information Technology Department
Kutztown, Pennsylvania
Pennsylvania State University-Main Campus
School of Engineering Design, Technology, and Professional Programs
University Park, Pennsylvania
The University of Scranton
College of Arts & Sciences
Scranton, Pennsylvania
Villanova University
Department of Computing Sciences
Villanova, Pennsylvania
South Carolina
Citadel Military College of South Carolina
Department of Cyber and Computer Sciences
Charleston, South Carolina
Texas
Southern Methodist University
Lyle School of Engineering
Dallas, Texas
St. Mary's University
Department of Engineering
San Antonio, Texas
Texas State University-San Marcos
Department of Computer Science
San Marcos, Texas
Texas Tech University
Edward E. Whitacre Jr. College of Engineering
Lubbock, Texas
The University of Texas at Arlington
College of Engineering
Arlington, Texas
The University of Texas at Austin
Cockrell School of Engineering
Austin, Texas
The University of Texas at Dallas
Erik Jonsson School of Engineering and Computer Science
Richardson, Texas
The University of Texas at El Paso
College of Engineering
El Paso, Texas
University of Houston-Clear Lake
College of Science & Engineering
Houston, Texas
Utah
University of Utah
School of Computing
Salt Lake City, Utah
Virginia
George Mason University
Volgenau School of Engineering
Fairfax, Virginia
Marymount University
School of Technology and Innovation
Arlington, Virginia
Washington
Seattle University
College of Science & Engineering
Seattle, Washington
University of Washington-Bothell Campus
Professional & Continuing Education
Bothell, Washington
Wisconsin
Concordia University-Wisconsin
Department of Computer Science
Mequon, Wisconsin
University of Wisconsin-La Crosse
College of Science & Health
La Crosse, Wisconsin