DEV Community

Federico Kauffman
Federico Kauffman

Posted on

Is a Master's/PhD degree worth the effort/money in the Software Engineering universe?

I recently got my Engineering degree, and immediately after that I started wondering if I should invest in a postgraduate degree.

What do you think? Is is worth the money/time?

Let's discuss this topic :)

Top comments (10)

mattlancaster81 profile image
Matt Lancaster

I can personally say, the Computer Security degree I received was a great experience, but the ROI is negligible. Now, if you plan on teaching, then getting a Ph.D. is a great idea, as well as a necessity.

One of the best bang for your buck Master's degree are the ones offered by Georgia Tech. They run 7-10k dollars and they have a lot of great specialized areas (analytics, machine learning, etc).

jfrankcarr profile image
Frank Carr

In the US, unless it's from one of the top 10 universities (Stanford, MIT, etc) I don't think it will be a good ROI. The cost is quite high and what you'll learn is probably going to be a lot less useful to employers than someone who has 3-5 years of real world job experience. The only reason I see to get this degree would be to have a career in teaching in academia.

nitya profile image
Nitya Narasimhan, Ph.D • Edited

So I did a PhD in Comp. Engineering (with emphasis on survivable distributed systems) & worked in R&D for 10+ years before switching to more development/advocacy focused roles. I've also interacted/worked with diverse people in academic, industry, startup & community careers in the past two decades.

My opinions below are based on that experience.

1. Don't do a graduate/postgraduate degree for the sake of doing one.

Grad school has lots of benefits but also involves a lot of work, time and energy. So before diving in, you want to be sure you know why you are doing it, and what you want to get out of it or you will burn out and feel frustrated.

In hindsight, I wish I'd gone into the real-world and worked first with a few diverse startups or companies in "emerging" industry domains so I could get a better sense of where the challenges & opportunities were. I would have made different choices (e.g. courses I took, topics & problems I tackled, people I collaborated with) if I had realized that consumer-focused work (ubiquitous computing, behavioral sciences) was more to my liking than enterprise (reliability engineering).

2. Focus on choosing the right advisor/group to work with, not on the university.

It's counter-intuitive at first, but will make sense when you think it through. Advisors shape the way you think (about tackling problems), the impact you have (with your research) and the networks you build (in collaborative projects, funding sponsors, and lab alumni).

If a university provides 10X name recognition in the general sense, a good advisor will provide 100X name recognition in the specific field of your research. Plus, you will learn that smart & driven advisors will find a way to succeed in any environment, are often more likely to attract other smart students/investors to their research, and have strong alumnus networks of their own (often in the universities or companies you favor) that will serve you well in your long-term career.

3. Sometimes picking a strong advisor in a non-traditional university will work in your favor.

They not only have more time/drive to focus on that research group, but they will have a better shot at getting funding, visibility and impact within that region. And, inevitably, as they rise in their field they will have options to move to other universities (taking their research groups with them) or work with relevant industry, government and academic collaborators on impactful projects.

Yes, grad school is expensive, time-consuming and stressful - but it has undoubtedly had the greatest influence on HOW I think through problems in a rigorous and innovative way thanks to advisors, collaborators and resources that I had access to while there.

And that is a skill that has long-term career value.

rwhitt2049 profile image
Ry Whittington

I'm in a situation where my Bachelor degree is in Mechanical Engineering, but I've been doing software engineering for most of the last decade. I often feel like I've "missed something" due to no formal education, and I also feel like I'd get the robo-boot during the candidate screening process because my education doesn't match the job description.

I feel like a masters would benefit me, but I'd like to hear anyone else's opinion on this. Would an advanced degree benefit me given my background? (sorry to hijack your discussion, but it seemed related)

luckysoftware profile image
Luc Fournier


I will just drop my though there.

Degree talks to HR, skill talks to your peers!

rwhitt2049 profile image
Ry Whittington

That's a great point. Thanks for the input.

fedekau profile image
Federico Kauffman

This was the idea, to discuss scenarios! Hijack at will haha

codemouse92 profile image
Jason C. McDonald • Edited

Short answer: NO

Long answer: If you want to teach, or else work in a branch of scientific computing or algorithms research, a Masters or PhD are excellent (and generally vital) paths! They may also be helpful if you learn best through guided study.

However, if you are an independent learner, and just want to be some form of a programmer/software engineer/software architect/{insert other fancy HR-coined term here}, there's no need to spend the extra time and money. Outside of the aforementioned fields, a Masters or PhD has fairly limited value for the price. Sure, you'll find some jobs open that you wouldn't otherwise, but not as many as you would think, and not necessarily better paying either.

fida1989 profile image
Fida Muntaseer • Edited

I am doing my MS in Computer Science besides my full-time job as Senior Android Application Developer. In my country's scenario it helps to stand out if you have both skills plus higher possible degrees, especially when applying jobs in larger structured non-startup companies.

dmfay profile image
Dian Fay

It's worth the money and time if it's something you want and if you're planning to do something in the future that will require it. Otherwise, no. There's no single answer.