Could getting an MS in CS be bad for my career? I'm in the following situation. My first 7 months out of college, I worked software job I really didn't like, and then I hopped on to another job I like. I've been in that second job for about a year now, and even though my career is doing pretty OK, I'm thinking about going back to school for a MS and maybe a PhD. I have some concerns about going back to school that I was hoping I could get some insight on.

I didn't get funding for graduate school because I did no research as an undergrad and thus had weak references, but tuition for one of the better programs I got in to is rather low as its a state school and I'm in state ( Umass amherst). I was making a bit over six figures for both of my jobs, and I've saved up more than enough money to cover both my undergrad loans, and pay the entire cost of the master's program + living expenses.

I want to give grad school a try because I've gotten really into computer science these past two years, and I'd like to study it full time for two years while doing research. In college, I was too busy dealing with a deep depression and health problems to excell as a student to the degree I know I'm capable of, and I want to have the academic computer science experience I dreamed of when I was in highschool but was robbed of due to circumstances.

I am, however, concerned about my employability post-MS. I will have had two short stints on my resume - a 7 month job and a 19 month job - making me look like a disloyal job hopper, and I'm afraid that potential employers might be turned off by my over-education should I choose to go back to programming. I'm also concerned that my department might not treat me with respect as a self-funded student. If they thought I was good, they would have probably offered me funding.

How are MS degrees viewed in the industry? Are my concerns valid at all?
One recurring issue I've seen in folks considering a CS M.S. or Ph.D. is a belief that the advanced degree will qualify them to employers as some sort of "super-programmer". This is generally not the case, and I think it's where folks get the notion that an advanced degree can hurt your job prospects. In my experience very few companies are interested in hiring folks with advanced degrees for jobs that can be handled far more cheaply by someone with no degree, but a lot of experience.

Where an advanced degree becomes helpful is in domain knowledge. Somebody with a C.S. Ph.D. may or may not be a decent web site developer, but there is supposed to be some (tiny) area of CS where they know as much as anybody on the planet. If they can find a company that needs that particular bit of knowledge (or something closely related), they have a good shot at a well paying job.

Once you have an advanced degree you shouldn't be looking for "programming" jobs, you should be looking for jobs as an expert in a topic like machine learning, compiler code generation, agile methodology, high-availability databases, etc. etc. There aren't as many of these jobs as there are "programmer" jobs, but there is also a lot less competition for them. Lots of excellent programmers are self-taught, but not so many experts in convex optimization.