Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Value of a master's degree in CS?
14 points by navait on March 14, 2013 | hide | past | favorite | 12 comments
I'm a CS major who's about to graduate. I love programming, and do projects in my spare time. I've completed internships at multiple startup companies. However, I've found web development work boring, and want to do something different. I applied into some master's programs, and was accepted. I have some scholarships for the masters program and no debt, so money is not a problem for me.

But I also feel a little burned out about school. I can do the two years, but I don't know if I'll be happy doing it. I know I'm never going to want to go for a phd.

Those who got a master's degree: what value did you get from it? Did you get it straight out of undergrad? What did you focus on? What jobs has it opened up for you?




Anecdotal:

Programmer P1 got a BA in English, worked a few years in sales, doing programming as a hobby. P1 then got a tech support job, and got serious about learning programming on the side. P1 landed an entry level web developer job, and gradually worked from that to more and more serious programming, changing companies a few times. At the current time P1 is a senior level programmer/architect after about 15 years in the business.

Programmer P2 got a BSCS, and a job as a programmer for a few years. P2 then went to back to school for that MS in CS, and then got a new job, and then another, and so on. Eventually, P2 is working at the same company as P1, same job title and responsibilities, also after about 15 years in the business.

P1 and P2 are doing the same job at approximately the same level of proficiency, with about the same amount of experience, and similar knowledge and ability. What's the difference?

P2 is 6 years younger and makes $15K more per year.

In my experience, knowledge gives you ability, but diplomas give you marketability. If you know now that programming is what you want to do, having both is better than just one.

For a corporate programmer, whether you go straight to the MS or get some work experience first, doesn't much matter in the long run. If a PhD and research and teaching are your future, don't wait, get degrees ASAP.


Since I got my degree in Germany, things are slightly different, but it seems to me like the premises of the situation are very similar. During and after high-school I worked as a web dev for a small compnay and did some projects on the side. At the time the only college degree you could go for was a "Diplom", which is a 5 year program and qualifies you for PhD studies - or just keep working and making very good money at the time.

After having done web development - I'm talking front-end stuff here: HTML, JavaScript, CSS and simple business logic stuff with ColdFusion/Perl/PHP and MySQL - I wanted to move on to more interesting things. And that's what the degree allowed me to do. I qualified the kind of web development I did, because there are some very interesting fields on the server side when it comes to scaling things, but I can see how the front-end technologies get boring.

It certainly depends on what courses you are going to take. But if your aim is to get a deeper understanding of more complex problems, I suggest you go for it and apply that rule to the courses you are going to take. Personally I did mainly machine learning and compilers and worked at the chair for distributed systems.

So what has this gotten me? Well, that depends on the way you look at it, but together with my co-founder I'm working on a startup that analyzes location information and motion detection to track user behavior. It's interesting, technically challenging, not a lot of other folks work in this area and we might even make money with it ;)


I didn't go straight from undergrad, took a few years off to work in various places, then started a master's degree in CS/math. The first year was mostly coursework (some were good, most were meh) and a bit of probing to find interesting fields for research. Unlike undergrad, some courses you take in graduate school are incredibly specific and cover whatever material the professor has been researching lately. The second year is typically more focused on doing research - you find an advisor and start diving deep into some specific problem. Though, the exact schedule can change from place to place.

I'm really enjoying myself and continued to a direct PhD track. It's the best job I've ever had. The work is interesting and the freedom is amazing. Your milage may vary.

I'm not sure what is the "value" of a master's degree is. It certainly looks good on a CV and might help you get a higher rank at some megacorp. Google for example is known to be very fond of advanced degrees. If you want to make software for a living I don't think it matters an awful lot. Particularly in the smaller companies and startups. Taking advanced courses will teach you some new tricks and acquaint you with fields you've never even heard of. You'll probably relearn some things from undergrad and understand the better. But the main point in a master's degree is to get a taste of academic research and see if you like it or not. There are a lot of interesting fields in CS and doing research in most of them is entirely different than being a professional programmer.

My recommendations to you, if you think you might be interested in research: 1. Try to get into a very good university (e.g. http://en.wikipedia.org/wiki/List_of_Turing_Award_laureates_...). No point in doing an advanced degree at a mediocre school. Some of those places only offer PhD programs, but you can leave in the middle and get a master's degree.

2. If you have a specific field that interests you, try finding a school with several professors working in that field. You'll have more options that way.

3. Don't do it if you're burned out! You can get a job instead. If you like learning and solving difficult problems, after 1-2 years you'll probably get that itch again.

4. In my experience 2-3 months of travel is enough to completely recuperate from any feelings of burnout and to start getting excited about "regular" life again. This shouldn't cost more than a few thousand dollars if you fly to somewhere far and cheap.


In itself, there isn't that much direct value to an employer unless your work in a Masters degree is directly relevant to their product/service.

However, the most valuable part of an advanced degree is building your own knowledge and experiencing new things that you won't necessarily get to experience in a job. You may meet some new friends, you may discover a love for a certain subject and want to position your career towards that field or you might be able to boost your own understanding of the theoretical side of CS to a point where it aids your understanding of programming. That is worth far more than anything an employer can offer you.


I got my MS about twenty years after my BS. The primary value I got was a fresh appreciation of the "science" in Computer Science. I went in planning to focus on software engineering and bioinformatics; two very practical offshoots from my professional career. What happened instead was I fell in love with theory -- automata, theory of computation, and graph theory in particular. I don't know if my MS has been particularly influential in causing companies to consider or hire me, but it has certainly deepened my appreciation for what I do professionally, and it also influences the topics I pursue personally.


I would say join the industry, start your company, work on some cool stuff. Figure out if you would like to try your hand at research. If yes, apply to a masters program.

If you have the patience, time and the skill needed to comprehend advanced research papers or the time to learn more about machine learning / advanced graphics / distributed systems / compiler optimization and other cool stuff, don't join a Masters Program. If no, may be consider joining a Masters program, you'll not regret <-- but do this only after you have worked for a few years.


Lots of companies will give you a leg-up for the masters, but it's going to be most valuable if it adds a dimension to your profile that isn't reflected in your BS. E.g. if you're at a school with a combined EE/CS department, try to get your MS in EE or Comp. Eng. This will give you the credentials to work in areas like embedded devices or wireless, which you might find interesting if you find web development boring.


I am doing it, and it is a good question. I think the biggest value you are going to derive from it will depend on what classes you take. I have a lot of students in my class who have undergraduate degrees in CS and are working, so I guess they find it adds values to their jobs which is a good sign.


What are you studying?


Masters in Software Systems


I know a few companies where having a master's degree would count against you over a graduate. It really depends on the job but I'd say it most situations 1/2 years experience is better than a masters degree.


IMO if it is not one of the top 5 CS schools in the nation (if you're in US), it's not worth it, as the opportunity cost is too high these days.




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

Search: