Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Should I get an MS in CS?
11 points by hacknat on March 12, 2014 | hide | past | favorite | 8 comments
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.

I got a degree in Hebrew Literature in College, I taught myself how to program and I'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'm pretty much full stack, and I've been working through an Algorithms and Data Structures book (Sedgewick's) on my own and really getting into it. It made me wonder if I should go back to school and get an MS.

My company is doing well, but I think I'd like to branch out technically after I'm done there, and try new things other than Web/Mobile CRUD. Embedded looks interesting, and I've built a DSL compiler in JavaScript, so learning more about compilers would be fun.

I'm also worried that my status as a really good Engineer won'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.

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?



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.


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.


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.


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.


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.


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"


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...

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


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




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: