
Ask HN: Should I get an MS in CS? - hacknat
Sorry for yet another question about getting a MS in CS question, but I did a search through old posts and I think my question is unique-ish.<p>I got a degree in Hebrew Literature in College, I taught myself how to program and I&#x27;ve been working at a pretty decent startup in the Seattle area for 3 years now. I have some decent projects on Github. I have some decent chops, I&#x27;m pretty much full stack, and I&#x27;ve been working through an Algorithms and Data Structures book (Sedgewick&#x27;s) on my own and really getting into it. It made me wonder if I should go back to school and get an MS.<p>My company is doing well, but I think I&#x27;d like to branch out technically after I&#x27;m done there, and try new things other than Web&#x2F;Mobile CRUD. Embedded looks interesting, and I&#x27;ve built a DSL compiler in JavaScript, so learning more about compilers would be fun.<p>I&#x27;m also worried that my status as a really good Engineer won&#x27;t transfer between companies. It took me a good year to convince people at my current company that I could do much more than work on the front-end.<p>The University of Washington is, supposedly, a really good CS school. They offer a professional Masters degree. Will this solidify my status as a good Engineer? Is this something I need or should I continue to learn on my own and trust that good people will recognize my work?
======
eranation
I would say, it depends, for me the answer was "I really hope yes". I just
started the MS CS in Georgia Tech (100% online, 7,000$ total cost, not per
year, ranked 9 in US)

I didn't study Hebrew literature academically (although I like reading in
Hebrew...) but my undergraduate degree in CS is from such an unknown college
that I don't see how it differs from your degree in terms of job finding
powers.

I also feel that although I might be highly regarded in my current job, it
will not transfer easily.

So an MSc in CS from GT for me is some sort of a level up if you will, making
my first degree Kosher.

But the real reason I do it is because I feel I need it for the learning, I
took some coursera courses here and there, and even finished some, but the
fact you pay (although not much) for the courses at GT, makes you more
committed.

Bottom line, if you can afford to keep a full time job (or have enough savings
to do it full time) then I would say go for it.

It will make a difference in your career options, especially in the "big"
names like Google etc...

Having an MS is not a silver bullet, but it definitely won't hurt. There were
times perhaps that I heard people say that they would avoid hiring MS CS
students with no work experience. But times have hanged, MS in CS is no longer
pure theoretical, the programs really make you a better programmer in my very
humble opinion. And you have the experience as the basis, the MS CS is just a
cherry on top.

------
avenger123
What's your long term career goals? You really need to nail this down and
figure it out. Don't make it about the next 20 years but more along the lines
of 5-10 years.

Where does an MS in CS fit in that vision?

If you're capable and its not too much sacrifice (ie. single, no kids, etc.)
than doing it is really about opportunity cost. If you want to build a
startup, the time is better spent on that. If you intend to continue as an
employee and move up the ranks, it's maybe worthwhile but depends on your
goals again (you already have a degree).

It looks like the MS might give you a great confidence boost in your own place
in the industry (since you think you are lacking). Maybe find a way to get
that without going through a full MS program.

Doing it part time is also a great idea.

Also, you will solidify your position as an engineer by doing what engineers
do and that is building stuff. In your case, you might be better off spending
that time contributing to high profile open source projects and continuing to
show your skills via github. Whatever gaps you feel you have, find ways to
fill it. Lots of great people in the industry that don't have your typical CS
background. We are an industry that favors actual output.

~~~
hacknat
I'm not sure what my career goals are. I know I want to get much better at my
craft and I want to make sure I don't have any gaps in my education. I'm
worried that, since I'm self taught, I don't know what I don't know and that a
Masters can expose and fix holes in my knowledge.

------
brudgers
I've taken two Coursera courses taught by UW faculty- Wetherall's _Networks_
and Grossman's _Programming Languages_. I am impressed with both as educators.

As far as if you should pursue a CS degree, well it seems to me that someone
who studies literature is likely to have an inclination toward a scholarly
approach to learning. If so, such a person might find pursuing a degree
enjoyable and earning one to be rewarding in and of itself. Practical benefits
would be gravy for someone who enjoys Sedgewick...who also has courses on
Coursera.

And when I mention Coursera, I'm talking about the free stuff not the new
program with Georgia Tech. It might be a middle ground. In the end, an
engineer is deemed good based on their design not what hangs on their vanity
wall. Half are below average.

Good luck.

------
gokult
I have a Master's degree in CS from UW's Professional Master's program. I also
had an undergraduate degree in Computer Engineering from a different school in
the east coast.

I recommend you get a Master's degree from UW for 2 reasons: 1\. You'll learn
a lot. I certainly did. You'll meet smart, driven engineers from other tech
companies in Seattle. UW's program is challenging and will push you as long as
you're engaged. 2\. Depending on how you branch out in your career, employers
may prefer someone with a hard science background, or at least will give them
an edge when hiring. If you have taken an OS course, you'll be that much
better an engineer anyway along with being able to put it on your resume.

------
mathattack
IMHO... Word of Mouth solidifies you as a good engineer. Of the top 4 or 5
technical people I know, none has an MS in CS. (One didn't finish college) The
degree matters less and less over time.

There are other good reasons to get a Masters. To improve the formalness of
your knowledge. To learn about things outside your domain of expertise. To
force yourself to learn things you wouldn't want to on your own. To meet other
smart people. (UW is good for that) To learn theory and find out what's going
on in CS research.

But none of these certify you as a great engineer nearly as much as another
great engineer saying, "I'll vouch for them"

------
not_paul_graham
Some (reputed) schools also offer part-time CS degrees that you can work at
your own pace while continuing to work.

Besides the online GT Degree already mentioned by another comment,

Tufts has a part-time masters too [1]

So does Stanford Honors Co-op program [2]

They are both probably more expensive than Georgia Tech Online MS CS.

[1] [http://www.cs.tufts.edu/Master-of-Science-in-Computer-
Scienc...](http://www.cs.tufts.edu/Master-of-Science-in-Computer-Science-
Degree/part-time-masters-degree-program-in-computer-science.html)

[2]
[https://studentaffairs.stanford.edu/gradadmissions/programs/...](https://studentaffairs.stanford.edu/gradadmissions/programs/honors)

------
bulte-rs
I.M.O. Go for it! Just to it part-time.

