Ask Slashdot: Worth Going For a Graduate Degree In the Middle of Your Career?
spiffmastercow writes "After nearly a decade of professional software development, my desire to work on something more interesting than business applications has pushed me toward looking into going back to school. I'd like to go into a graduate program for Computer Science, but I need to weigh my options very carefully. Is a Ph.D. a near-guarantee of a spot in a skunkworks type of job (Microsoft Research and the like)? Is a M.S. just as good for this? How does the 'letter of recommendation' requirement work if you haven't kept in touch with your professors?"
If that comes in the form of a graduate degree, so be it.
As long as you keep learning
This sig is intentionally blank
A PhD doesn't really guarantee you anything. It can also be detrimental depending on what you want to do as some companies consider it too much or too expensive. You'll be better off starting in a Masters program and then deciding if you you really see a need or feel the desire to go for the PhD. A PhD is a LOT of work and time.
Really unless you plan to go into academia or hard core research I'd steer clear.
I don't care what you say, all I need is my Wumpabet soup.
So letters of recommendation don't usually mean a whole lot for a senior student. If technically competent people have given you good recommendations that's fine, but usually you find a supervisor first, then apply.
A PhD in comp sci isn't a guarantee to anything, it's usually not worth it financially (an MSc usually is), and spending 4 years, or more, of your life on 20k a year with the theoretical payout at the end of it is a bad plan. Academia is usually based on years since you completed your PhD, so even though you could talk your way into some credit as a programmer (a programmer is not a scientist by the way), so that's more likely to be more harm than good. Research is usually very front loaded in a career, you produce the good stuff before you're 40, you supervise other people doing good stuff until you're 50, and then you teach and sit on committees and supervise people who may or may not do good stuff. If you're jumping into that process late you have to realize you're going to be treated like you're supposed to be 20 years younger than you are, and well, it's just not easily workable.
In terms of industry an MSc is worth it, a PhD isn't. An MSc shows you have a bit of a step up as a self starter, a bit more advanced knowledge and interest in a specialized area and you can do something interesting that isn't necessarily financially driven which still sounds cool. (My MSc was on GPU ray tracing, which, when I did it, wasn't going anywhere fast but everyone I applied for work with knew what those things were and immediately had a connect as to something 'interesting'). But for a PhD it's not usually worth it, industry experience is more valuable (and lucrative) unless you really need a PhD for a particular job you want, which would only be in academia, it's not worth. Again, keep in mind, a PhD is definitely science, you can get by as a programmer in a BSc and an MSc but if all you are is a programmer you're going to get your arse handed to you when someone asks you to develop a novel model of a problem or a novel solution and they don't really care what language you implement it in, if at all. Where I am we have a couple of PhD's in comp sci who I don't think ever write code, ever, but they're extremely well respected because they do theory of computation and fairly sophisticated mathematics development (which their grad students might implement).
As someone else said, there's no harm in doing a masters, and it's usually upside, so it's worth doing if you're interested, and the requirements are pretty lax to get in. Don't do a coursework masters, do a thesis masters though, coursework masters is like an undergrad with more advanced topics, so you're not getting anything, those are basically there to pad 'years of experience' for foreign students looking to move to your country. A masters you can reasonably accomplish at least part of it part time and keep your job (and income) too. Here the course requirements are 4 courses total, so one or two a term for a year or two, and then a thesis after (which is basically writing a 150 page book on some topic, and having an interesting idea you can demonstrate an example of).
A PhD though... ugh. It's a lot of risk, if you're a stellar programmer already it won't make you better and you're better to just keep making money. It lets you solve more novel problems, but those can be bad precisely because they're novel, which makes them hard to solve if not unsolvable. There's no guarantee for a decent gig at the end of it either, and you might end up stuck in a job that is the same as someone with an MSc, so you've wasted 4 years or more of good earning power on it.
PhDs don't get you jobs. I can point you to plenty of PhD students that have come from the university where I work that had trouble finding work. Now to be fair, most deserved it, they weren't very good, just hoop jumpers who kept jumping through enough hoops until they got their degree (it isn't supposed to work that way, but it does).
Get a PhD if you want to do research. Basically if getting a PhD sounds like something you are interested in, then sure, go for it. Education for your own sake is never a bad thing, so long as you can afford it. However don't look at it is a "better job-getter" particularly if you already have work experience since that is what employers tend to weigh most heavily.
The only jobs you get a PhD for are jobs that require it. There are a few, mostly in academia but a few out of it. However other than that, no it doesn't help you get work to a significant degree and can even be a harm in some cases because employers will reason you'll be too expensive for them or too bored with the job and leave.
Goes double if you aren't that interested and are just going to "hoop jump" it like some of our grad students.
I have a PhD in CS from a top-20 US university and now work in an industry research lab. Like most PhD recipients, I started grad school right after college and finished before starting my professional career. I would say getting the PhD is the single best decision I ever made, and looking back at my high school and college trajectory, it now seems like it was an inevitability. I always wanted to work in technology research, hack on software prototypes, work on R&D projects for a large influential company, and make more money. I've gotten all those, and I'm grateful for the opportunities. I make about 25% to 50% more in base salary than my friends who went to the same grad school but graduated with a MS degree. I also have more technical freedom at work because I have the publications and track record to back up what I'm saying. In the couple of times I sent my resume out for a new job (e.g. Google, MSFT, Facebook), I've gotten callbacks within 48 hours.
I do agree with some of the other unwashed heathens here who have only MS degrees that you can indeed get a great job with just a MS degree. But why limit yourself? Also, I agree that not all PhD programs are the same. I've seen some PhDs from 3rd tier universities work as test engineers. So in the end, I would say that you should get a PhD only if you can land at a CS grad school top-20 university. It is not worth your time getting a PhD from a university outside of this group. If you do get in, establish your area of expertise by publishing a lot of papers at top-tier conferences in order to strengthen your case for getting an interview at a lab like MSR. I recommend you do your dissertation in a field that has high value to companies, like machine learning or IR.
By the way, never take out a loan for grad school. If you work as a TA or research assistant, you will get paid while you attend school. The national average seems to be about $25k/year according to all my PhD colleagues.