# Thoughts on a Computer Science Master's Degree


Over the years I've had many people ask me about my opinion on getting a Master's degree in Computer Science. After having answered the question many times, I decided it'd be worthwhile to put my thoughts into writing.

Before getting started, I do want to throw a couple of disclaimers out there:

  1. Your results may vary.
  2. I don't have a Master's degree.
  3. It's your life, take in the information then decide for yourself.

# What do you want to do with your career?

A Master's degree is a further specialization in Computer Science. You will be spending another year or two learning about the field before entering industry. Asking yourself what you want to do is important before you spend more time specializing in a sub-field. As you begin to make this decision, you should think hard about what you'd like to actually do with your degree when you graduate. Do you want to develop games? Write web applications? Focus on security? Data science? Each of these has different amounts of value that can come from a Masters.
If you want to focus on Data Science, a Master's which focuses on the field will expose you to the more advanced math that is used in data science. If you're interested in developing more basic applications that don't need extra academic knowledge, you'd likely be better off jumping into industry as you've gleaned most of the important academic CS knowledge.

# How do you learn?

Are you able to learn on your own or is the structure of classes and school beneficial? In our industry learning on your own is important, but getting a good grounding can certainly be assisted with a forcing mechanism like school. If you have historically been able to learn on your own, diving into topics of interest outside of school then you may be able to learn a ton of the Master's without the need for schooling.

# Do you want to be a manager or an individual contributor (IC) ?

Most tech focused firms don't place a huge emphasis on an advanced degree for management. In my experience, particularly in the lower levels of management, those credentials might help but won't be the determining factor in a hire / no hire decision.

If your dream is to work your way up the ladder to be a SVP at an older, non-techincal firm it might be worthwhile to consider getting your Masters to hold the credential. If that is your goal, I'd also recommend looking into an MBA to get a better understanding of the business side of things.

Many people choose to stay as IC's, which is a great career path on its own. If you're wanting to remain an IC, I wouldn't factor getting a Masters into your career progression - You can easily progress your career through the extra years of work (while getting paid!) rather than paying for more years of school.

# Compensation

Most people see compensation as the penultimate career goal, but I've left it for last as in my experience it advanced degress have very little impact on your earning potential at most firms. I knew many interns at Amazon who were Master's interns who ended up receiving an offer that was virtually the same as the Bachelor's offer for new grads. They came in as SDE I's and worked on pretty much the exact same projects as the new grads wist a Bachelors.

There will certainly be firms, particularly of the older or non-tech focused, sort that will compensate you better for having an advanced degree, but you'll also need to account for the opportunity cost of the advanced degree. Not only will you need to pay for the additional tuition, you'd need to calculate the potential earnings you could be making over the year or two of extra schooling.

# Closing Thoughts

I chose not to do a Master's degree. I felt that I could learn what I wanted to while in industry and though I may decide to do one in the future, it wasn't the right time in my life to pursue one.

When making the decision, remember: Just because you're not still going to school for CS doesn't mean that you can't continue to learn.

# Caveats

# Research Organizations

If you want to lead research teams at large companies you should probably get an advanced degree, most likely a PhD. Many companies look to hire PhD's to lead their research efforts and drive a lot of the critical research thinking. If this is something you dream about, you want to think long and hard about going through a PhD program.

# Terminal Masters

Be aware of a terminal Master's degree if you are considering getting your PhD one day. A terminal degree means that once you have it, you can't use any of that time or experience for a PhD. If you decide you want to pursue a PhD you would have to start from the beginning, and work through getting a Thesis Masters before getting the PhD. Many +1 year degree programs that allow a normal Bachelor's student to get a Masters in one extra year are non-thesis, terminal degrees. This also stands for the online Georgia Tech Masters that many people take.

To be clear, there's absolutely nothing wrong with completing a terminal Master's but I've found that advisors don't do a great job of calling this out to students interested in the +1 path.