Google 'is a master's in computer science worth it?' and you'll find that it's a hot topic in tech circles. There are people who believe strongly that a Master of Science in Computer Science (MSCS) is a must-have degree, full stop. Others assert that pursuing a master's in computer science is only ever worth it if you can get a full-ride scholarship from an Ivy League university or one of the top computer science schools. Some argue that real-world experience is a million times more valuable than a master's degree in computer science and that pursuing a master's degree will hurt your total lifetime earnings. Others counter that tech professionals with master's degrees always have more options, greater career freedom, and an easier time advancing.
Who's right? The frustrating answer is that they all make valid points you should consider before enrolling in an MSCS program. You can climb the ladder in computer science without a degree, but you'll probably climb it more quickly with one. Taking time off from work to study can reduce your lifetime earning potential to some extent. Still, having a master's degree may help you qualify for many more lucrative positions that ultimately negate the effects of time spent outside the workforce.
The point is that there's no one-size-fits-all answer to this question because the answer will depend on your financial situation, what you're looking to get out of a degree, your career goals, and your background.
In this article, we take a more in-depth look at the question should I get a master's in computer science?, and cover:
According to Stanford University's website, a Master of Science in Computer Science, or MSCS, is a "terminal professional degree" designed to prepare students to advance to higher-level managerial or research positions in tech. This suggests that the master's in computer science is an extension of a computer science bachelor's degree. It can be, but not always. The degree comes in numerous configurations that vary significantly. They include:
You'll have a lot of options when it comes to where and how you earn this degree. MS programs in computer science for non-CS majors and those designed for seasoned professionals typically require students to complete 30 to 45 credit hours of coursework, which can take one to two years of full-time study or up to five years of part-time study. There are plenty of on-campus and online MSCS programs, and at many colleges and universities—Southern Methodist University's Lyle School of Engineering and Tufts University among them—the curriculum is the same regardless of what delivery format students choose.
Only about 23 percent of developers have master's degrees, so if you're a programmer who wants to continue writing code for a living, a master's in computer science might be overkill. You'll probably need a master's degree, however, if you want to transition into upper management roles like:
There are also jobs for MSCS graduates in fields as diverse as medicine and manufacturing. Nearly every industry and sector is looking for professionals who can boost business by leveraging technologies related to:
Of course, how far you can advance after meeting all the degree requirements of a graduate program depends mostly on how much professional experience you already have under your belt when you graduate. In a Quora thread about the kinds of careers an MSCS can lead to, retired software developer William Hembree explained that "with an MS in CS and no experience, you'll be considered for any junior-level software development jobs that don't require highly specialized knowledge you don't have. At least here in the US, an MS in CS is commonly considered the equivalent of two years of general experience."
You can earn a lot with a master's in computer science; getting this degree makes sense if money is what drives you. According to PayScale, the median annual salary for MSCS graduates is about $102,000 compared to $85,000 for bachelor's degree holders.
Of course, how much you actually earn after you get a master's in computer science will depend on your title, location, and many other factors. It's telling that Georgetown University's College Payoff report found that computer engineers with master's degrees earn $300,000 more throughout their careers than their colleagues with bachelor's degrees.
With this degree, you might eventually earn:
The MSCS—a degree that costs, on average, about $40,000—represents a solid investment. In Forbes rankings of graduate degrees by the potential salary increase of each, computer science master's degrees offered the second-biggest bump in pay (behind biomedical engineering).
Before investing in any degree, it makes sense to look into whether there are jobs in the field and whether that demand is stable. There's plenty of demand for CS experts currently, and some sources report that there are so many more open positions in computer science than qualified applicants that MSCS graduates can command higher salaries than ever before.
As for what the future holds, the United States Bureau of Labor Statistics (BLS) predicts that computer and information technology jobs will grow by 16 percent over the next decade. The BLS's projections might actually underestimate the growth in demand over time. After all, we haven't even begun to tap into the true potential of data engineering, artificial intelligence, cloud services, and robotics across industries.
The cost of a master's in computer science is one potential downside. Degrees from the top computer science schools can cost upwards of $100,000 in total tuition and fees. There are many people out there who will tell you that it's possible to learn everything you'll study in a top MSCS program through self-study. Whether that's actually true probably depends on how motivated and driven you are.
Another downside is that many of the best programs require students to commit to a course of full-time, on-campus study. You'll learn a lot in those programs and make valuable industry connections, but you'll lose years of professional experience in the process. Some people just aren't willing to make that trade-off.
And finally, there's the fact that more students are pursuing computer science master's degrees, potentially diluting the value of this credential in the future. Having an MSCS may not be the major resume-booster it once was by the time you graduate. You may end up competing with a lot of other master's degree holders—even if you're looking at entry-level jobs. "Every time I look at job application posting on LinkedIn, it shows that for an entry-level position, there were like 30 percent applicants with a BS and the rest are people with master's degrees," one Reddit commenter wrote on a thread about the declining value of master's degrees in this field. "It blows my mind that I'm competing for an entry-level position with people with master's degrees."
Yes, you can launch a career in computer science without a master's degree. Even so, some circumstances can make pursuing this degree especially worthwhile. For instance, if you earned your bachelor's degree in computer science from a less-reputable college or university and think your alma mater is holding you back, a graduate degree from a strong comp sci or tech school may improve your prospects (and earning potential). Or if you're not a US citizen, but want to become one, pursuing a master's degree in computer science enables you to get a Student Visa, which can then lead to a job that allows you to get a Work Visa and finally, a Green Card. And some people pursue this degree as a test to see if they have what it takes to pursue a PhD in Computer Science.
Of course, there's nothing wrong with getting a MSCS because you're extremely passionate about tech and want to spend a year or two broadening your skills with people who love computers as much as you do. If you can swing the cost of attending a full-time program at Massachusetts Institute of Technology or Stanford, you'll graduate with a strong professional network and lots of opportunities open to you.
That won't be the end of your education, however. Professionals in this field never stop learning. At some point, whether you have a master's degree will matter less than your willingness to research, experiment, or simply try something new. "Countless times, a co-worker has shown me a better way to do something," programmer Walt Karas wrote in a Quora thread about the pros and cons of getting a master's degree in computer science, "but I can't remember a single time when it was something they learned in graduate school. It was based on experience with something they had but I didn't, or because of their personal ingenuity." That may be why so many old-timers in this field are quick to say that a graduate degree isn't as valuable as time spent in the industry or as critical as the skills you possess.
Consider, however, that there are many smart, skilled computer engineers out there—many of whom have enough substantial work experience to make up for the fact that they don't have an advanced degree. If you have a ton of experience, going back to school for another degree might just be overkill. If, however, you don't, and you want to distinguish yourself as an engineer (or just make it past the slush pile of resumes at big tech firms like Google), a master's degree can help you do that.
Questions or feedback? Email firstname.lastname@example.org