Guide to a Master's Degree in Software Engineering in 2020

Written by ComputerScience.org Staff


What Is a Master's Degree in Software Engineering?

Software engineering ranks among the best jobs in the country, according to reports by Indeed, PayScale, LinkedIn, CNBC, The Muse, Yahoo Finance, The Job Network, and Reader's Digest, among others. Software engineers, fullstack developers, and software developers enjoy above-average growth projections for their occupations over the next decade, according to the U.S. Bureau of Labor Statistics (BLS).

Employers across the country need people who understand the building blocks of useful applications and can write code driving the software everyone uses. They want creative thinkers, problem-solvers, and decision-makers who understand today's high-tech economy. They seek leaders who can communicate effectively and manage teams. These skills form the core of online master's degrees in software engineering.

Companies pay handsome wages for these kinds of skills. Software developers earn a median annual wage exceeding $105,000. Systems software developers enjoy even higher wages, earning a median wage of $110,000 per year. Read on to learn more about the exciting opportunities available to graduates of online master's in software engineering programs.

Should I Get a Master's Degree in Software Engineering?

Students often wonder if a software engineering degree is worth it. The short answer is: yes. A software engineering degree provides a lucrative path to one of the nation's most exciting, high-demand industries. Master's students learn many skills that translate to a variety of other occupations. They also earn credentials that put them ahead of many competitors when it comes to employment and promotion. We've listed several of this degree's benefits below.

  • High Pay Rate: According to the BLS, the median pay rate for software developers exceeds $105,000. Master's graduates often qualify for management-level pay, as well.
  • In Demand Everywhere: Software engineers often work in tech hotspots like Silicon Valley, but they can easily find employment almost anywhere they want to live. Many work remotely, making location possibilities almost endless.
  • Marketable Skills: Graduate software engineering students hone their basic computer science skills, such as programming, systems, and web development. They often learn in-demand, executive-level skills, as well, including problem-solving, creative thinking, leadership, and effective communication.
  • Comfortable Work Environment: Many of today's tech companies boast the most progressive work environments. Perks include flexible hours, free snacks, and game lounges.
  • Access to the Latest Gear: Software engineers work on the cutting edge of technology and often gain access to the latest tools. Many take advantage of pro deals on equipment and receive trials of the latest software.

Advice from a Software Engineering Graduate

Gobi Dasu

Gobi Dasu

Gobi Dasu is a second-year computer science Ph.D. student at the Northwestern Delta Lab. His research interests include engineer training, the future of work, and ICT4D. Massive open online courses only go so far in training enough engineers to meet demand, and Gobi takes interest in problems in this space from a research and practical perspective. Outside of the lab, he applies human-computer interaction (HCI) research lessons to LD Talent, a platform he started to financially incentivize engineers to learn new skills and match them with work opportunities. Gobi received his bachelor's and master's degrees in computer science from Stanford University.

Why did you decide to pursue a master's in software engineering? Expand - Plus/Minus

I had pursued my undergraduate in computer science/software engineering. But I decided to race through it and graduate two years early from Stanford CS. During what would have been my junior and senior year, I was a digital nomad, travelling the world while consulting for software startups. Toward the end of that period I became increasingly aware of how limited my knowledge was. I had taken machine learning, neuro-linguistic programming, artificial intelligence (AI), and introductory HCI. But I began to question myself on how well I understood those subjects and could apply them.

I decided to return so I could gain a deeper understanding of these areas. I wanted to take more math and probability courses, like linear algebra, as well as more AI courses, like computer vision, deep learning, reinforcement learning, and probabilistic graphical models, and HCI courses like HCI research and HCI design. Now, after a master's, I feel more confident to call myself a software engineer with a specialty in AI and HCI.

What was the deciding factor in selecting your specific program and specific school? Expand - Plus/Minus

Well, I had done my undergraduate degree at Stanford and was very impressed by its strong position within the Silicon Valley. I was a bit tired of the Bay Area, since I grew up there, but the master's offer I got included a guaranteed teacher's apprenticeship, which was a better package than what the University of Illinois at Urbana-Champaign offered me. Also, I felt I didn’t take full advantage of the incredible startup network at Stanford during my undergrad.

How did your degree program prepare you for your current career? Expand - Plus/Minus

I use software engineering HCI techniques -- like RITE testing, which I learned during my master's -- in my startup, LD Talent. It's a startup which trains developers, helps them engage in lifelong learning, and finds them employment opportunities. I also use other HCI techniques, like ideation and agile software development, as I describe in this blog post I wrote. I also use them when designing my Ph.D. experiments, where I iteratively test the affordances of programming tools on intermediate-level programmers.

I use AI and machine learning techniques to a lesser extent in some of LD Talent's talent matching algorithms.

are you seeking education beyond your master's? Expand - Plus/Minus

I would like to figure out how to close the gap between intermediate-level programmers (of which there are a lot) and expert programmers (of which there are few). There is high demand for experts, and I think my startup can solve this problem by financially incentivizing intermediate-level developers to learn new skills. However, the mechanism by which intermediate-level developers will learn professional design patterns is imperfect and too open-ended.

My Ph.D. research is coming up with novel ways to help intermediate-level developers learn professional practice straight from artifacts of professional code, in GitHub repurchase agreements, for instance.

What is the job market like for people with a master's in software engineering? Expand - Plus/Minus

Very lucrative and very good. Particularly as we live in an increasingly data-driven and digitized environment, it’s a great time to be designing human interfaces to collect data and algorithms to analyze said data. On a meta note, it’s also a great time for people like me, who are figuring out computer-based ways to scalably train and deploy professional developers.

What are some of the most rewarding aspects of working in software engineering? Some of the most challenging aspects? Expand - Plus/Minus

The most rewarding aspect of software engineering is that you can build something on your own. As an electrical or mechanical or civil engineer, you rely on expensive tools and labs. As a non-engineer, you rely on others to build things. Moreover, there's a lot less low-hanging fruit in those domains.

But in software engineering, there is a ton of low-hanging fruit. And there are a lot of problems you can solve with just your computer and the internet. It's incredibly empowering. For instance, with LD Talent, I am developing the world's first instantiation of industry-driven conditional cash transfer. Some of our customers (who hire engineers trained on our platform) are building SaaS applications that help inefficient institutions become much more efficient with their logistics and marketing.

What advice would you give to students considering pursuing a master's in software engineering? Expand - Plus/Minus

I would advise students to check out all the courses available to them and carefully get the gist of each one through careful online searching. Then I would advise them to pick the ones that might best empower them to achieve their goals with their career or startup. Without going through all courses available and understanding their high-level purpose, you'll never know what you missed out on. This is why I am publishing a master list of all CS topics, and I'll put in on the LD talent blog once I do.

Admission Requirements for a Master's Degree in Software Engineering

Whether online or on campus, most master's programs in software engineering feature similar requirements. Applicants must provide evidence of a bachelor's degree from an accredited college or university. Many schools require a minimum 3.0 GPA on undergraduate work. Schools typically ask for recommendations from professors and/or employers, as well. Some prefer candidates with at least two years of prior work experience, often in computer science.

Admissions counselors usually want a writing sample of some kind -- often a statement detailing why the applicant wants to pursue a degree in the field. Many ask for GRE scores, as well. Some programs might also list prerequisites, especially for applicants from non-computer science backgrounds. These might include coursework in statistics, discrete mathematics, and programming languages. The best online master's degree in software engineering programs may also require interviews during the admission process.

Application fees vary by university. Some schools waive them altogether to encourage more applicants, while others charge nonrefundable fees of $65 or more.

What Can I Do With a Master's Degree in Software Engineering?

Graduates of online master's programs in software engineering generally follow one of two paths after earning their degree. Most head to work, taking new jobs or moving up the ladder with their current employer. Others continue their education, entering doctoral programs or pursuing professional certifications.

Career and Salary Outlook for Software Engineering Graduates

Careers in software engineering vary by employer. Software engineers find jobs at huge tech giants and small startup companies alike. Some work as consultants or freelancers; others hold steady gigs. Because they boast strong foundations in computer science and coding, software engineers can work in a variety of occupations. Some simply stick to software engineering itself, designing and creating applications. Others move into video game design or web development. Still others might find work in networking or systems engineering.

Those with master's-level education typically move into higher-ranking positions. Many oversee departments, serving as a link between their corporation's executives and computing staff. They tend to earn above-average salaries, starting at $50,000-$75,000. Those on the high end might make more than $110,000 once they've gained several years of experience. Programming language certifications can also open doors and raise salary potential.

Software Engineer Expand - Plus/Minus
Software engineers design and create applications. They work for massive tech companies and small startups. They lead teams of programmers on projects, drawing up the plans and overseeing the development of new software applications. Many professionals with online master's degrees in software engineering take management positions.
Computer Programmer Expand - Plus/Minus
Computer programmers typically work in offices, writing the code that makes software and systems run. They may buy or vet prospective programs for corporations. They might maintain databases or networks for networks in the public or private sectors. Those with master's degrees often hold upper-level positions, serving as liaisons between executives and computing departments.
Senior Software Developer Expand - Plus/Minus
Much like software engineers, senior software developers run engineering departments at tech giants and smaller companies. They conceptualize, develop, and oversee the production of new software. Because they typically lead teams, most possess strong management and programming skills. They must know how to think creatively and make decisions.
Video Game Designer Expand - Plus/Minus
Game designers work for digital game companies. They conceive new games for mobile devices, consoles, and the web, and they write the code that makes them run. Those who graduate from online master's programs in software engineering often take leadership roles at their companies, managing groups of coders.
Senior Web Developer Expand - Plus/Minus
Senior web developers hold management positions at corporations. They meet with clients to determine their needs and budgets, and then run teams of web developers to create new web applications. They also often oversee the hiring and training of new web developers.

Master's Degree in Software Engineering Careers: Median Salaries by Experience
Job Title Entry Level (0-12 Months) Early Career (1-4 Years) Mid-career (5-9 Years) Experienced (10-19 Years)
Software Engineer $75,000 $82,000 $93,000 $112,000
Computer Programmer $52,000 $57,000 $69,000 $78,000
Senior Software Developer $80,000 $93,000 $101,000 $109,000
Video Game Designer $51,000 $60,000 $74,000 $91,000
Senior Web Developer N/A $79,000 $86,000 $93,000
Source: PayScale

Continuing Education in Software Engineering

Technology constantly changes, and software engineers need to keep their skills current. Many higher education opportunities exist after graduate software engineering programs. Ambitious students can continue on to Ph.D. programs, earning terminal degrees in the field, or they can pursue professional certifications in languages and specialized skills. Getting doctoral degrees or adding certifications may enhance marketability, leading to more opportunities and higher remuneration.

  • Ph.D.: Most doctoral programs in software engineering prepare students for careers in academia and research. Graduates begin their software engineering careers with unparalleled expertise. They tend to earn high salaries compared to other professionals in the field, bringing home $115,000 or more every year. Ph.D. programs usually require 75 credits beyond a bachelor's degree, and they can add significantly to students' college expenses. They typically involve dissertations or research projects, which can take years to complete.
  • Certifications: Certifications in some fields can greatly enhance job candidates' resumes. These designations show employers that candidates hold specialized expertise in certain areas. In the software engineering field, graduates can pursue certifications such as Oracle's certified professional: Java SE programmer or certified professional: Java ME mobile application developer. Learners must pass one or more exams to demonstrate proficiency and earn these certifications.

Earning Your Master's Degree in Software Engineering

Most master's degrees in software engineering take full-time students two years to complete. Part-time learners often need three years to finish, taking two courses per semester. Online programs often offer accelerated degree opportunities, in which classes follow fast, eight-week sessions. Learners in these programs may finish in one year.

These timelines assume students hold a bachelor's degree in a computer science-related field. Software engineering master's programs typically include 30-36 credits, without prerequisites. Some programs welcome applicants from non-technical backgrounds, but these individuals must earn at least 12 more credits in prerequisites.

Software engineering studies involve lots of computer work, making it uniquely suitable for online study. This proves especially true at the graduate level, where students are typically more mature and experienced. Online programs particularly benefit working professionals and other students who need scheduling flexibility.

Coursework often explores software systems architecture, software systems design, project management, testing, pattern design, and security. Some programs also include web development and theoretical classes in human-computer interaction. Concentrations might include user interfaces, software development, game creation, enterprise technology, and management.

Comparing Master's Degree Options

Master's programs in software engineering take several forms. Many universities offer standalone master of science degrees in software engineering. They may also host software engineering degrees as part of a master of science in computer science programs. Software engineering programs may go by the title of "software development." Many schools also offer a master of science in information technology with a specialization in software engineering. Each program features its own curriculum and set of priorities.

Master of Science in Computer Science - Software Engineering Expand - Plus/Minus
This degree typically combines software development expertise with skills in systems engineering, security, networking, leadership, collaboration, and customer service. It proves ideal for management-level careers in software engineering. Graduates may find jobs in varied fields such as software design, government security, bioinformatics, or network administration.
Master of Science in Software Development Expand - Plus/Minus
An MS in software development differs slightly from software engineering. Both developers and engineers learn to construct applications from their basic building blocks. Developers often concentrate more on design and implementation, rather than architecture and the scientific principles behind them. Both degrees lead to jobs in software firms, with developers often writing more code and engineers leading teams of programmers.
Master of Science in Information Technology - Software Engineering Expand - Plus/Minus
An MS in information technology (IT) grounds students in the fundamentals of IT and hones their skills in software development. Courses explore systems architecture, IT project management, modeling, design, and advanced programming. This course of study prepares graduates for jobs in software engineering, such as network engineer, web administrator, and software developer.

Popular Master's Degree in Software Engineering Courses

Every university offers its own online master's degree in software engineering curriculum and emphasizes different aspects of the discipline. One school might focus on discrete mathematics, while another may stress data communications. Some schools require special projects or thesis papers; others might use cumulative exams or capstones.

Some institutions feature more core courses and fewer electives, while others let students design their own pathways. Many offer certifications in various areas. Regardless, they all offer some similar classes. The list below includes five courses online learners might find in any graduate-level software engineering program.

  • Software Construction

    In this software engineering class, students learn to build their own large-scale applications using currently available tools. They study how to write stable, virus-resistant software that is easy for others to understand. The course typically involves doing problem sets and creating a piece of software as a final project.

  • Systems Architecture

    Students in this three-credit core course explore the classes, functions, and subroutines of software and how they fit together. They investigate how different arrangements and frameworks in software offer different results. They look into what makes a strong architecture, often performing case sets to demonstrate their understanding.

  • Mobile App Development

    In this elective course, online students learn to build, maintain, and adapt mobile applications using Java. They develop their own applications with one of the main programming languages, discovering tools for testing and securing as they go. This class does not require previous Java experience.

  • Software Risk Management

    In software engineering, risks include unstable software, unsafe data, poor time management, cost overruns, and an array of other inefficiencies. Distance learners in this advanced course work in teams, studying how to create applications while identifying, limiting, and mitigating risks.

  • Web Engineering

    This advanced elective takes students through the fundamentals of constructing software for the web. Subjects include modeling and architecture, performance, user interfaces, maintenance, testing, and security concerns. As part of their final project, learners create web-based applications.


The Master's Practicum and Thesis

Like other disciplines, master's-level programs in software engineering typically involve a practicum, a thesis, or both. These elements both ensure that students have a grasp on the material and can produce work of a high standard.

Many programs offer thesis and non-thesis options. This allows learners who would rather not do writing projects to choose other paths. Those who opt out of the thesis option often take additional courses, complete large-scale projects, or take comprehensive exams. The thesis track typically involves multiple semesters, and research sometimes occurs during both years of the program.

Degree candidates usually come up with a topic, gain advisor approval, and independently research and prepare a thesis paper of 40-80 pages. Subjects might include problems in software development or topics of particular interest to the author.

Practicums usually allow software engineering students to complete computer science internships over a semester. These might include entry-level positions at tech giants or coding jobs at startups. Practicums give aspiring engineers the opportunity to gain valuable experience doing the sort of work they would likely pursue upon graduation.

Selecting Your Master's Degree in Software Engineering Program

Choosing the right master's in software engineering program involves careful consideration of several factors. These include school size, online or on-campus study, faculty credentials, available concentrations, overall cost, financial aid, and accreditation. We've listed several of the most important factors below:

icon-award

Accreditation

Students must ensure that reputable accreditation agencies have verified the school and program (see below).

School Size

Some students like large universities with lots of resources, while others prefer small liberal arts colleges with greater personal attention.

Online vs. In Person

Some universities make online learning appealing by lowering tuition, accelerating degree pace, and allowing students to work part time. Many learners, however, prefer the face-to-face interaction of on-campus study.

Student-to-Teacher Ratio

The number of students versus staff can help determine how much personal attention faculty members are able to give their students.

Faculty Credentials/Diversity

Look at the biographies of professors and deans and make sure they hold appropriate degrees. Consider their areas of specialty, as well.

Cost/Financial Aid

Look carefully at all cost considerations. Some schools extend in-state rates to non-resident online learners, while others charge technology fees and other additional costs.

Concentrations/Specializations

Prospective students should make sure their programs of interest include focus areas relevant to their career goals. In software engineering, these might include software architecture, software development, game creation, enterprise technology, and leadership.

Program Length

Most master's programs require two years of study. Some schools allow students to take up to six years to finish. Others offer one-year accelerated options.

Career Services

Some schools offer exceptional alumni networks, internships, and partnerships with technology companies.

Required Admission Materials/Test Scores

Applicants must consider whether they can meet the admission requirements. Learners who do not want to take any standardized tests should consider programs that do not require the GRE.

Should You Get Your Master's Degree in Software Engineering Online?

Online education works well with software engineering. Learning to write code and engineer applications involves sitting in front of a computer -- the perfect environment for distance learners. More schools offer virtual programs now than ever before; these include some of the nation's best universities.

Graduate programs have seen their numbers soar in particular. Enrollment has tripled since the 1970s, according to the Heching Report, as more students have sought to advance their career prospects. Many universities moved their graduate studies online to help offset the rising costs of education. This presents students with an exceptional array of options for online master's programs in software engineering.

Online programs require self-direction and motivation, which often come more easily to older, more experienced students. It also requires good time management skills and suits learners comfortable with technology. If this sounds like you, you can find some of the country's best master's degrees in software engineering online.

Accreditation for Software Engineering Schools and Programs

Making sure that a college or university holds appropriate accreditation is a critical step in the graduate school selection process. Accreditation agencies perform quality-control assurance for students, guaranteeing schools meet certain standards. Accreditation also signals to future employers and doctoral programs that applicants hold reputable credentials.

Schools in the U.S. typically carry either regional or national accreditation. The top colleges and universities hold regional accreditation from one of the nation's six accreditation agencies. Trade schools and colleges often hold national accreditation.

Most reputable schools list their accreditation status on their website. The U.S. Department of Education and the Council for Higher Education Accreditation both host easy-to-search databases of accredited schools.

In the computer science field, the best online master's degree in software engineering programs often carry industry-specific accreditation from organizations like the Accreditation Board for Engineering and Technology Computer Accrediting Commission. Schools must meet high standards to earn recognition from these agencies.

Resources

Professional Organizations for Software Engineering

Professional organizations can help graduates find jobs in software engineering. These trade associations prove ideal for networking, often hosting conferences and forums. They also provide continuing education opportunities, bringing the industry together for workshops and publishing the latest information. They do advocacy work, sponsor mentoring opportunities, post job boards, and offer an array of other useful resources to new professionals.

  • CompTIA Formerly known as the Association of Information Technology Professionals, CompTIA provides education, certification, advocacy, and philanthropy. One of the largest organizations in IT, CompTIA offers career development and networking to all types of computer professionals.
  • Association of Software Professionals A trade group devoted to individuals who write and market software, ASP hosts group discussions, provides discounts on tech tools, and offers networking opportunities.
  • Software Development Forum Based in Silicon Valley, the SD Forum hosts workshops and symposiums and publishes guides and tips for startups on its site.

Scholarships for Master's Degree Programs in Software Engineering

Scholarships help students pay for graduate software engineering programs. Sponsored by charities, corporations, and communities, these funding resources can make all the difference for aspiring engineers. Many organizations make scholarships available to all college students, and several specifically target those entering graduate-level computer science fields.

AfterCollege STEM Inclusion Scholarship Expand - Plus/Minus

Who Can Apply: Students studying science, technology, engineering, and math who hail from underrepresented communities qualify for these funds. Recipients must attend an accredited university full time.

Amount: Varies

Apply for Scholarship

AAAS Mass Media Science and Engineering Fellows Program Expand - Plus/Minus

Who Can Apply: Sponsored by the American Association for the Advancement of Science, these summer fellowships provide opportunities for students in computer science programs to work on their communication skills.

Amount: $5,000

Apply for Scholarship

Gates Millennium Scholarships Expand - Plus/Minus

Who Can Apply: Sponsored by the Bill and Melinda Gates Foundation, these scholarships assist minority students in undergraduate and graduate computer science programs.

Amount: Varies

Apply for Scholarship

AT&T Technology Development Program Expand - Plus/Minus

Who Can Apply: Graduate students can earn money for school and gain experience by participating in this part-time internship in cities across the country. Software engineering ranks among a handful of fields in which students can work 16-20 hours per week.

Amount Varies

Apply for Scholarship

Women Techmakers Scholarship Expand - Plus/Minus

Who Can Apply: Google sponsors these funds to help women enter the field of computer science. Scholars receive a funded Google retreat and financial aid to help fund their studies at an accredited university.

Amount: $10,000

Apply for Scholarship

Frequently Asked Questions

What can I do with a master's in software engineering? Expand - Plus/Minus
With a master's degree in software engineering, you can find work in virtually any high-demand, lucrative computer science position.
Is a master's degree in software engineering worth it? Expand - Plus/Minus
Few occupations pay as well as software engineering, easing the pain of paying off loans. Master's degrees allow learners to move quickly into management.
How long does it take to get a master's degree in software engineering? Expand - Plus/Minus
Most programs require two years of study. Some schools offer four-and-one programs, which allow students to earn both a bachelor's and master's degree in five years. Others offer one-year accelerated programs.
How much does a software engineer with a master's make? Expand - Plus/Minus
Software engineers with master's degrees earn a median annual income of $105,000, according to the BLS.

Additional Reading