Master’s Degree in Computer Science

I’m currently applying for a master’s degree in computer science (MSCS). I thought I might share my experience here for other people in the same boat as me.

My boat is that I’m a mid-career software developer and engineering manager. I have mostly worked in startups, where professional experience is often most important, but I want to move into more responsible technical leadership roles in bigger and more conservative organisations. I don’t plan to get a Ph.D. I don’t have a bachelor’s degree in computer science; mine’s in physics. I’m pretty good at math and coding.

The value of a MSCS for me is that I think it would help get me technical leadership jobs at big companies. It’s also a chance to get a solid foundation in CS, and fill in the patchwork of knowledge I have from experience and self-study. Maybe most of all, I feel like I’ve put off getting a higher degree for a long time, and this would be an opportunity to finally do it.

Criteria

My criteria for a “good” master’s degree program are:

  • Real master’s degree. I’m willing to put in the time, money and effort to get a “real” degree, not a certificate.
  • Accredited university. I’d like my degree to have the name of a university on it, without “extension” or “electronic” or whatever.
  • Prestigious. I’d prefer that when people look at my resume, they’re impressed by the university I went to.
  • Worthwhile. I should actually learn something that makes me better at my job.
  • Part-time. I plan on working through the program, so I can’t afford to do a full-time course load.
  • Remote. All or mostly. I have a life in my home in Montreal, and I don’t want to uproot my wife and kids to go sit in lecture halls in another city.
  • Good value. I’m not sure what kind of salary delta I can expect after getting this master’s degree, so I want to be careful to not overspend. Pricing on these programs isn’t always easy to figure out; for some, as a luxury good, it seems like if you have to ask, you probably can’t afford it. A lot of the programs mention having an employer help with the cost; I don’t have an employer right now, so this isn’t an option.
  • Fall 2022 enrollment. I’m applying in spring 2022, and I don’t want to wait a full 18 months to start.
  • No GRE. This is mostly due to the short schedule. I took the GRE in 1990, which is far too long ago for most programs to accept. I don’t have time or energy to study for and take the GRE right now.
  • English language. I didn’t even look at programs that aren’t in English.
  • Flexible schedule. Right now, I can apply 10-20 hours per week to classes, but there may be times over the next few years that I can’t. So, a flexible schedule where I can take 0-2 concurrent classes per semester is key.

Process

I started with the top 20 graduate programs in computer science according to US News and World Report. (Actually, it’s 22 universities; there are some ties.) My reasoning is that these are the schools most likely to look good on my resume, at least to people who know computer science. I also think that, if I can’t get into one of the top 20 CS schools, I should probably re-consider whether this is the right move for me. I might then go back and apply to the top 50 or top 100.

I then researched each school to see if it offered an online, part-time master’s degree. I used the unscientific method of searching for “<name of university> online master’s computer science” on Google, which usually did the trick. It was sometimes necessary to go to the CS department site, and look for an “online master’s degree” program. Conversely, it was also sometimes necessary to go to the “online education” site for the university, and look for a “master’s in computer science” in the degrees offered.

Occasionally the university will have a note in their CS department web site that they only accept students for Ph.D. programs, or that they only accept students for on-campus, full-time study. Most of the time, I searched until I was pretty sure that there wasn’t a program, and then gave up.

As far as I can tell, master’s degrees in computer science are usually a “master’s of science” (M.Sc.), but sometimes a “master’s of engineering” (M.Eng.). I don’t think there’s an important difference.

I’ll also say that the best graduate school for computer science is not necessarily the best graduate school to get a master’s degree. A master’s degree is probably most useful for a professional career, and thus you’d concentrate on technologies that are in more common use, and also on engineering practices like quality assurance or requirements management.

Not only that, but even a good master’s program is not necessarily a good online master’s program. So the USN&WR list is only an approximate list of best programs to apply to. But it’s a decent first approximation.

I should note that many of the lists of “best online master’s programs for computer science”, like this one from ZDNet and this one from USN&WR leave out a lot of universities. I don’t know why; it seems like they’re working off pre-pandemic lists. Ten of the top 22 computer science programs have online master’s programs, and I just can’t imagine what outstanding features that #49 North Carolina State has that would make it the top pick by ZDNet.

USN&WR has a separate list for computer engineering programs, but many of the schools are in the same rank as for computer science. Sometimes the universities have different computer science and computer or software engineering programs, and sometimes they just have one or the other. I decided not to worry too much about it, and just look for engineering classes in the computer science programs I’m applying to.

These are all US universities. I also looked at the global list for computer science. There are some really interesting prospects on there, including English-language programs in China, but I couldn’t find any online programs that were worth displacing the top American programs. I would be willing to put more work in on this, though.

Canadian master’s programs in computer science were somewhat disappointing. Only two (Toronto and Waterloo) cracked the top 50 CS programs worldwide, at #37 and #42, with UBC just missing at #52. I also didn’t find a lot of part-time programs, and no online ones. I considered an in-person master’s in Montreal, but I’ve had a hard time reaching anyone at McGill who was willing to answer my questions.

I make this process sound very systematic. I actually started out looking at individual programs, thinking they were the only ones available, and as more popped up, decided to do a full survey so I didn’t miss any good matches.

The Schools

Here is the list of universities from USN&WR, with the information I was able to find. These are in order by rank of the CS graduate school, which doesn’t necessarily reflect the quality of the online master’s degree.

  • MIT (#1). I found no online master’s degree in computer science.
  • Stanford (#2). This seems like a great program; it gets top marks on all the lists I’ve seen. Mostly pure CS, but some SE. However, it has two strikes for me: it’s over US$60K for the program, and the application deadline is in December 2021 for Fall 2022. So I missed out!
  • Carnegie Mellon (#2). A really impressive program for a master’s in software engineering. Good balance of engineering, business, and computer science. I especially like that there’s a live conversation unit in each semester. Includes a thesis. I got in an application, but I’m not sure I can really afford it. It looks like the price tag is around US$96K over 4 semesters.
  • Berkeley (#2). None found.
  • UIUC (#5). A pure CS curriculum with a few SE and business classes. Seems like an OK deal at US$20K. Interestingly, there’s a test to show your proficiency with the prerequisites. The application deadline is 30 May 2022, so I’m going to give it a try.
  • Cornell (#6). None found.
  • Georgia Tech (#6). At US$7K all in, this is by far the best value on the list. The course catalog covers both pure CS and SE topics, as well as some computing in society issues. I missed the March deadline for Fall 2022, but they have a Spring 2022 entry, which is also unusual, so I’m going to apply. Another nice thing is that they have year-round applications.
  • University of Washington (#6). None found.
  • Princeton (#9). Explicitly only accepts full-time on-campus students.
  • University of Texas (#9). A solid program, entirely CS. Good value at US$10K, and includes a thesis as an option. It also gives me a good excuse to spend some number of weeks in Austin. I applied for May 2022.
  • Caltech (#11). Graduate program is explicitly for Ph.D. students only.
  • Columbia (#11). Requires a GRE and undergraduate credits in CS courses. They explicitly exclude Coursera and other online programs! Mostly pure CS with a smattering of SE courses. At US$72K, this is one of the more expensive programs; I think you’re partly paying for the Ivy League credentials.
  • UCLA (#11). None found. There’s an MS in Engineering available, with specialisations in Computer Networking and Data Science, but I wasn’t able to find a general computer science or software engineering program.
  • UCSD (#11). None found.
  • Michigan (#11). None found.
  • Harvard (#16). Master’s program in Software Engineering, which is good. The degree is “Master of Liberal Arts (ALM) in Extension Studies, field: Software Engineering,” which is a strike against. About US$35K, which is mid-range, and clearly they think of it as a valuable asset, but I’d honestly always be itching about that title. The program is not 100% online; one semester must be spent at Cambridge, MA. I could probably handle that. Admissions requires two prerequisite undergraduate courses, which is an interesting process. The course curriculum seems reasonable.
  • Maryland (#17). Master’s degree in Software Engineering. Core classes are SE, but CS electives are also required. This seems like a good program, mid-priced at about US$30K.
  • Penn (#17). This is a master’s in computer and information technology. I love the program; it’s a great mix of theoretical CS and practical SE topics. It’s probably second only to CMU in the coverage of subjects that I want to do. It’s hard to get the price tag, but I think it’s about US$35K. Not cheap! Penn also features the fact that it’s an Ivy League school (albeit the one everyone forgets when listing Ivy League schools) on its main pages, so that might be part of what you’re paying for. I applied for next year.
  • Wisconsin (#17). I can’t find a lot of information on this program, including the price tag. I wasn’t moved to discover more.
  • Johns Hopkins (#20). This seems to be a good program with a deep course catalog covering SE as a specialisation. There’s an emphasis on CS undergraduate prereqs, but you can test out of them. At US$49K for the whole program, it’s probably too expensive for me.
  • Purdue (#20). There doesn’t seem to be a master’s program in CS offered, but there is a MS in Information Technology, which seems to cover mostly management and analysis topics in the course catalog. Although it’s interesting and at US$25K it’s an OK deal, I don’t think there’s enough crunchy programming work to really keep my interest.

The upshot? I applied at CMU, Penn, and UT. I’m going to apply at UIUC and Georgia Tech. I don’t think the other schools on this list hit my criteria as well.

Is it all worth it?

I don’t know. There’s a good article on slowboring.com about how poorly master’s degrees pay off for the students. But it’s mostly about liberal arts degrees.

Programmers, engineering managers, engineering directors and engineering executives get paid pretty well. I find it hard to believe that US$10-30K investment for a master’s degree from a name brand university wouldn’t pay off in just a few years of increased salary. Even if nobody else noticed or cared about that one line on my resume, I think I would notice, and that would make a difference. Just in terms of self-confidence, I could see myself asking for a salary premium that would make up for the costs pretty quickly.

But overall, I think there has to be some intrinsic reward to getting a graduate degree. And if that’s the case, I want to spend about what that intrinsic reward is worth to me. Both for the value of the education, and for the sense of achievement, I’m probably willing to pay out for the lower-priced schools on this list.

I’m well aware that that is a life-changing amount of money for most people in the world, and that I’m very privileged to get to choose how to spend it. I hope that I can do some good in the world with the education I get.

Should you wait?

I’m in the last couple of decades of my professional career, so I don’t think I can afford to wait any longer. But if you’re reading this, you might want to consider it.

The pricing right now seems to be all over the map, ranging more than an order of magnitude between programs. I think as the market becomes more mature and competitive, some of those overpriced programs (looking at you, Columbia) will come down in price, and maybe some of the schools that don’t have online offerings are going to get in the game.

There may be some disadvantages to waiting, though. Most of these programs waived the requirement for a GRE (except Columbia, again…), which I think was due to the pandemic. Also, admissions for colleges were all over the map in 2020-2021 and 2021-2022, although graduate applications were slightly up. There may be some advantage to applying while things are still a little chaotic.

Conclusion

I hope this article has been helpful to you if you’re thinking about a CS master’s. If you find some information about a program that I missed, please let me know, either in a comment or on email or on a social network. I’m especially interested in high-quality programs in the US from universities below the top 20, and in online programs from international universities.

Thanks to everyone who has been supportive in this process. In particular, my wife has been very nice about me saying I want to spend a sizeable chunk of my income on tuition in the next couple of years. My kids have done a good job pretending they care about different graduate school options. And my friends, colleagues and mentors have been very generous writing letters of recommendations — sometimes more than once.

Thanks for reading this far, and good luck in your search.

UPDATE: Hello, Hacker News! I’m glad to see that this article has been helpful for some readers.

UPDATE, AGAIN: There have been a few comments here and on HN that a master’s in CS does not have any effect on salary. NACE did a salary survey in 2021 that showed a 46.9% increase in starting salary for holders of a CS master’s.

21 thoughts on “Master’s Degree in Computer Science

  1. This is motivating! I also appreciate the amount of research you’ve put into this. I’ve been tempted to do something similar once I move (again) and clear off more debts. Not only that, but I think I might try to do something similar for bachelor programs (I only have a high school degree) and see where I’d land.

  2. So I went through the Applied Data Science Masters program at Syracuse University (online) and graduated in 2019. There might be some parallels as I went into it as a data engineer (day job). Just from what I wish I had known to ask going into it is if the academic programs have any particular inclination or preference for a particular language or approach. In my case the academic program was heavily weighted towards R programming which in working with data engineers and data scientists in the health care industry isn’t utilized at all. There were quite a few cases where they allowed people to use what ever language they already knew as long as it met project or course requirements so your prior experience might let you focus on using what you know in different ways vs picking up anything from scratch. In having the degree I would like to think that it would help break any ties or get me past any algorithm filters where a there’s some sort or ranking based of educational experience. I can’t say for sure in my case that it definitely made the difference in applying for a job or getting paid more so much as tenure and what I initially started at wage wise.

  3. Thanks for this breakdown, there is some very valuable research in this writeup. I actually have been working as a Ruby on Rails engineer for the past 9 years and obtained a masters degree in Informatics from Indiana University Purdue University in Indianapolis (IUPUI) in 2012-2014. All I can tell you is, no one really cares about my masters degree. Granted, it is NOT a computer science degree, only computer science related. I took lots of Human Computer interaction courses, design courses, web development classes etc.

    That said I love learning and often find myself wanting to do a second Masters in actual Computer Science. I have also looked at the Georgia Tech program and it definitely seems like a no brainer at 7K, it used to be 10K a couple years ago. My suggestion is, do it if you want to do it, but do not pursue it for the return on investment, rather do it for the return on knowledge, after all, knowledge is power.

    Good luck on your endeavors. Go get that Masters in CS!

  4. I took and graduated from the GATech master program in 2018. It’s a very good program and pushes you. I set a goal to 4.0 it and spend many weekends for 2ish years locked up in the computer room cracking out homework or studying for tests. If you don’t plan to change jobs after the masters, there prob won’t be a pay increase. I think masters do help land jobs in more traditional companies. I’m not sure I got a great ROI from it but it was an experience.

  5. I agree with @ritec, as mid-career and targeting higher level management, a master’s degree won’t help you at all; only your resume roles and experience will get you to those higher level roles. Most managers do not have technical degrees. An executive MBA might help you as long as you pursue business side roles (sales/marketing/product management). Find a [senior] role you would like to pursue and work backwards from there – What skills/experience are you lacking, and fill in the gaps from there.

    For technical skills, you’re better off staying abreast of latest technologies and trends through seminars, conferences (videos online is sufficient), and dabbling a bit to understand impacts and efficacy.

  6. As a mid-career and targeting higher level management, a master’s degree won’t help you at all; only your resume roles (titles specifically) and experience will get you to those higher level roles and likely in a different company. Your first hurdle is passing the automated filters. You may be better off finding a good head hunter to get you in the right filters.
    A master’s degree is good to start a new entry level career, not enter a senior level role. Doing a master degree may even hinder you as pigeon holing you to a technical path.
    Most managers do not have technical masters degrees let alone computer science degrees. An executive MBA might help you as long as you pursue business side roles (sales/marketing/product management). Working in startups, you can position yourself flexibly as you’ve probably done both types of roles.
    Find a [senior] role you would like to pursue and work backwards from there – What skills/experience are you lacking, and fill in the gaps from there. Snooping around on LinkedIn and looking at histories helps. Interview to the role with confidence – interview as you know you can do it and deserve it, not that you’re aspiring. Ask for feedback from recruiters if it doesn’t work out.
    For technical skills, stay abreast of latest technologies and trends through seminars, conferences (videos online is sufficient), and dabbling a bit to understand impacts and efficacy. For education, you’re better off though working on your business skills and executive soft skills. Knowing how to make budgets, manage people, and set strategy, and keep a timeline with your underlying technical background.

      1. It’s worth asking “of high earners, how many have a Masters?” as well as “are holders of Masters degrees paid more?”

  7. I got a master’s degree and have found mixed results. Some companies were actually put off by it and assume I wanted to do research instead of build systems. It actually hurt me with them. One company required an advanced degree and I would up accepting their offer so that was great. Most places just didn’t care.

  8. check out York University (Toronto) MSc computer science — you can do part-time with variety of courses offered during evening. They also have a thesis or project based option. I don’t know much about the rankings but they are definitely serious in their research and have talented Professors. Tuition cost is quiet reasonable too.

    if you are interested – York also offers on-campus / near-campus housing for students so if want to relocate with kids and Wife during course of your study, that is also a possibility.

  9. Evan – I just got accepted into the GT OMSCS program for Fall 2022. I went through pretty much the same process you did for masters program research. I only applied to GT. I graduated from UT Austin in 2002 with a BS EE and have spent the past 20 years working in semiconductor design for Motorola/Freescale/NXP. I finally came to the conclusion over the past 18 months that I’m bored with hardware and I just can’t imagine continuing on this path for the next 20+ years. I started taking some online classes to learn more about AI and computer vision at PyImageSearch.com and it has re-invigorated my love of learning. Best of luck to you!

  10. having mentioned my opinion regarding York University, I do agree with Nikola Vouk. Masters in Computer Science won’t have any impact on your ability to get leadership role at conservative / established large companies – you already have relevant experience (engineering manager) – try searching and applying for a management/director role in Canadian Banks / Insurance Companies. Even retailers like Canadian Tire and Loblaws and telecoms (Bell/Rogers) offer great IT opportunities for the type of roles you are interested in.

    Frankly, if you do want to prep for senior leadership (VP and beyond) at a large corporation, then I would suggest the following route: First get a Management/Director level position in large company and then do a MBA with focus on IT Management (this way, you may be able to get tuition covered as well since you will already be in management).

  11. Evan – Stanford offers a dedicated program for working professionals. It is the Honors Cooperative Program (HCP). The courses are the same as those offered to students in-person on campus and taught by the same faculty. In fact, you can choose to join the classes “live” if you can make such arrangements at work, else watch the recordings and submit assignments working with classmates (either in-person or remote). You can also take courses part-time via Stanford Center for Professional Development (SCPD), earn credits before applying for their Master’s Program, and if admitted, transfer those credits towards your MS. Please check out https://gradadmissions.stanford.edu/programs/hcp and https://online.stanford.edu/explore?type=program&credentials%5B141%5D=141. I started with a Graduate Certificate and am now starting my MS in Management Science & Engineering this fall. Please email me and I’ll be happy to share more information.

  12. I have gone through entire post and comments and would like to say that I am completely in agreement with observation of Nikola Vouck .For Seniors like you with good experience investing in Masters degree is not worthvile .Yes in some cases you may get salary increase ,but if you follow advice of Vouck regarding self learning and implementing feedback from recruiters ,you will get equal if not better returns .

  13. Had the MSCS for 20 years now. Almost the same deal; physics premed undergrad. Now going for an MBA. Not sure either will help. In my view, it comes down to both competence and luck. You can’t take advantage of luck without competence, but without luck, you are not positioned for success.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s