Ask Slashdot: Worth Going For a Graduate Degree In the Middle of Your Career? 260
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?"
You should never stop learning (Score:5, Insightful)
As long as you keep learning
Re:Try Khan Academy first (Score:4, Insightful)
Khan's good for some stuff, but it does not have graduate level education.
Re:You should never stop learning (Score:3, Insightful)
Yeah you should stop learning. In the middle of your career, the return on investment is going to be weak. You only have about 40-ish years of good work in you (assuming you don't encounter issues with age-discrimination). It's one thing to learn on your own in the context of your job/career or personal time. It's another thing to invest time and money in a further formal education that is only going to provide so much return.
What are you going to do, go be a 45 or 50 year old entering a new path? Right. That'll be taken seriously.
not necessary (Score:2, Insightful)
I know a man who got a job at Skunkworks and he only has a high school diploma. I know a drop-out with a GED who got a job at NASA. Getting a degree does not guarantee you a job. It's all about timing and your qualifications at the time.
Re:Guarantees (Score:5, Insightful)
A PhD opens a lot of doors to jobs that are not available to people without doctorate degrees. At many companies, a PhD is very useful if you want to be on a management track. Of course nothing is guaranteed, but a PhD has definite benefits. A MS degree is similar, but does not open as many doors compared to a PhD. Whether or not those benefits end up being worthwhile it is not possible to say. If you job allows you, take one graduate level course a quarter/semester for a year and see what you think. This is the best way to tell if graduate school is for you. When I took my first graduate level class, I could tell within the first week that this level of education would be highly beneficial for me. It is a night and day difference from undergrad classes. Many schools give you 5-7 years to complete a MS. If you end up liking the graduate courses and see worth in them, enroll in an MS program. Within 3-4 years of part time enrollment, you'll have a MS degree and a good chunk of additional education.
As others have said, keep learning. But structured learning with validated recognition of that learning is a good bet. Work on an advanced degree from a decent school. It's more likely to benefit you than a bunch of ad-hoc classes from various websites.
Several things (Score:5, Insightful)
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.
What are you really looking for? (Score:5, Insightful)
What is it you really want to do? Do you want to do research- develop new algorithms and approaches? Then it can help a bit. But you pretty much need to stop working and go to school to get the real benefit, the real benefit is in doing graduate research with a mentor, making connections, and studying without distractions. It isn't the classes.
If you just want to work on different types of applications- do so. Apply for jobs that do something else. Look at startups, go to local startup events. Search job listings and ignore anything that says J2EE or .NET. If you don't live near a major city, you may need to relocate. But it's easily doable- 11 years in and I haven't touched a business app yet.
Define "more interesting" (Score:5, Insightful)
Many masters are very application-oriented, and there's a chance you will end up feeling like you are doing the same job as before, but at a slightly higher level.
For most "technical" (i.e. sciences) fields, an M.S. means you take two years of classes without failing them, are able to regurgitate it out on exams, and maybe put together a Master's Thesis that's more a Rite of Passage than real work.
PhD's on the other hand, often (once again in sciences) spend the same two years learning the same coursework, and are expected to do 3-4 years of pure research, applying that knowledge, before they graduate. The sole purpose of the second (and larger) half of their tenure being to hone their ability to create rather than apply (I know many M.S. holders will be POd at that statement, but it obviously varies case by case, and I'm giving a broad brush stroke, so don't whine). Many PhD programs also give you an "honorary" masters if you fail to complete the PhD program (either by choice or by lack of research capabilities).
As an aside, many government research labs (some subgroups of which are strictly programming and computational) don't offer full time positions to anyone who doesn't have a PhD, and will only give those with an M.S. a temporary scientist position with the understanding that you are pursuing a PhD.
With that all being said and done, it really depends on what you want to do. PhDs are generally pretty high level. If you want your code to have application to something, you will most likely need a strong science background, whereby you are then using your programming skills to apply algorithms to solve problems. A PhD in CS will more likely be something very high level regarding computer science as a philosophy itself (hence doctorate of philosophy). It's quite a 180 and very likely more of a departure than you wanted to take from your current career.
Finally, as far as letters of rec go, graduate school in general is much more a case-by-case basis, and not only most admissions departments be very accommodating of any questions you might have during a phonecall, but letters of rec from work supervisors will also suffice in many cases.
Whatever you pick though, I wish you the best of luck and think you will have a great time and be happy with either one C:
I only list the drastic differences in a PhD so that you are able to weigh it properly against a Masters (including the fact that it's oftentimes less employable during a down economy, because of how much more companies are "required" to pay PhDs vs. an M.S. holder that can do the same work).
PhD is not a guarantee of anything (Score:5, Insightful)
I've worked at MSR as a software developer. I have a M.Sc in CS/EE. To be a researcher there, with very few exceptions, you need a PhD. But that's a requirement, not a guarantee. You also need to either be young and promising (as determined by your publications, and how well they're received by the scientific community), or seasoned and established (as determined again by your track record of publications). "Seasoned and established" is not something you can get in a couple of years. These folks operate at the bleeding edge, you need to spend 2-3 years working really hard just to really understand what they're doing, let alone contribute something significant.
For an engineer, there's no requirement beyond, well, being a great engineer, and B.Sc. Some other companies (notably Google) prefer to hire researchers who are _also_ great engineers. This is rare, but these folks do exist, I know a few personally. PhD requirements do apply to those engineers.
If you're looking to do something researchy for a while, just get a software developer job at a lab (MSR or elsewhere). You likely will be able to publish, if your work is not embarrassing :-) (MSR allows and encourages engineers to do their own research). Let me warn you, though, you will be working with people who have been working in the same field for a decade or more, and as a result acquired the amounts of expertise that you won't have just starting out. A few (or a lot, depending on your IQ) of them will be a lot smarter than you, which can be demoralizing to some folks. And almost all of them will know math really well, which can be a challenge for you 10 years after school, even if you did advanced math there. You will have to understand them, after all, and help them apply what they've thought up. As if this wasn't enough, 9/10ths of what you do will never go anywhere other than to the patent office, which too can be demoralizing for someone who's used to people actually using their products.
On the flipside, you will learn A TON, if you're willing to put in the effort, and the environment is the very definition of low pressure. People are pleasant and super smart, research is interesting, you don't have to pull 12 hour work days, except maybe once a year before a major conference, and since you're a precious commodity, you're given the freedom to choose projects that interest you.
Point is, it's not all as rosy as you imagine it right now, but it's a worthwhile experience nevertheless. Or at least it was for me, YMMV.
Don't get a PhD for a job (Score:5, Insightful)
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.
Re:Guarantees (Score:5, Insightful)
What a graduate degree does guarantee is an opportunity to extend your contacts beyond your current circle. So choose your educational facility carefully. Remember at lot of research is done at Universities and doing your graduate degree gives you access to the research and the people paying for it. In competitive markets who you know counts for more than unverified experience (in competitive industries giving top notch references for crappy employees often pays of well). The is also a demonstration of willingness to continue to learn and that you haven't become stale, soon to transfer from the pointy end to sales as your tech knowledge has fallen behind.
Re:You should never stop learning (Score:5, Insightful)
Yeah you should stop learning. In the middle of your career, the return on investment is going to be weak. You only have about 40-ish years of good work in you (assuming you don't encounter issues with age-discrimination). It's one thing to learn on your own in the context of your job/career or personal time. It's another thing to invest time and money in a further formal education that is only going to provide so much return.
What are you going to do, go be a 45 or 50 year old entering a new path? Right. That'll be taken seriously.
What return on investment has to do with his question? He clearly says: "...my desire to work on something more interesting than business applications has pushed me toward looking into going back to school..."
Additionally, having PhD will actually help him against age-discrimination
no (Score:5, Insightful)
I have a Ph.D. in CS, and although I am highly respected by my colleagues, and currently involved in interesting projects, it did not help me much when looking for work. During various job interviews I got the impression that years of experience in the software business is considered more valuable than a Ph.D. When I did get hired, the interviewer actually had a Ph.D. himself, so he did see the value. If you look at CS job descriptions, a Ph.D. is almost never a requirement, except for university positions and some research positions, but those are scarce (in the current economy). So, a Ph.D. is no guarantee for an interesting job. There are lots of Ph.D.'s out there doing work that they are overqualified for.
A Ph.D. is really a training program for an academic career, not for a business career. The subject of a Ph.D. is often highly specialised or even obscure. So, unless you happen to know (and if you have a choice for a Ph.D. subject) what research area will become important at the big software companies in three or four years time, the subject of your Ph.D. is irrelevant, or even detrimental, for your career. (That also goes for university careers: its very difficult to fight your way into a different specialisation).
That said, I loved my time as a Ph.D. student and post-doc researcher. You should only do a Ph.D. if you are passionate about a subject. So, if you have the opportunity to do a Ph.D. and you can afford to do it, and you are inspired by the subject and driven enough to finish it, then go for it. But it's not necessarily a good career move.
Re:Try Khan Academy first (Score:4, Insightful)
I've never yet seen a certification that was worth more than a pile of used toilet paper. Especially not for CS. And the attempts to even remotely get it to be so, especially for an internet certificate where the problem of proving the identity of the test taker is nearly unsolvable, will take a lot of time and money to do. It's not happening this decade.
Even once it does- it still won't be 10% as good as a degree. First, there has yet to be a certificate system that didn't sell out to maximize the number of certs given (and thus profits). No, the market won't fix it- the market never solves any problem except "how cheap can I make this". The entire idea of a market solving anythign else shows a complete lack of understanding of economics. But ignoring that, there is no replacement for taking a few years and studying a topic in depth surrounded by fellow students and with extensive resources all around you.
Then there's the problem of discipline. I taught a distance ed class at the college level. It was an upper level math class. It cost a few hundred dollars to take, so it was a significant investment. In the two years I taught the class, the only one to finish the class was myself- the semester before. Nobody else bothered to make it to the midterm, even with me asking them to do their homework. Very few people have the discipline to complete an education without a structure around them, especially in their early 20s.
Khan and similar ideas are great for additional resources for parents, for tutoring, for a bit of adult learning. Its not and never will be a replacement for college.
Re:You should never stop learning (Score:5, Insightful)
If you're doing a Phd because you want to work on cutting edge research, then you're possibly going to be dissapointed. A Phd would certainly help open the door for an interview at one of those places, but won't immediately mean you'll get hired. It's one thing being able to digest the latest research papers, but it's another thing entirely to implement them in a production environment. Are you proficient with the latest GPGPU techniques? (cuda/direct compute/openCL). How is your 3D graphics knowledge? How much do you know about the latest SIMD / threading optimisation techniques? Have you ever looked into FPGA's? How much experience have you had developing cross platform applications? Have you had experience writing code for distruted computing environments? If you have most of those covered, and you have a Phd, then there will be plenty of doors open to you. If you have a Phd, but none of the above, then the Phd will be of limited help.
A large number (though not all) of Phd grads I've worked with are great at solving problems, but not very good at putting that into practice on a large codebase (where maintainablity, sanity, and efficiency, inevitably take priority over being cutting edge).
How does the 'letter of recommendation' requirement work if you haven't kept in touch with your professors?"
It's of little consequence. Your research portfolio will be the thing of most interest to employers. If they get to the point of asking for references, then you've already got the job. The tutors will not stand in the way of that (graduate recruitment is an important statistic for universities these days - the tutors get moore out of you getting a job than you may realise!)
Re:You should never stop learning (Score:5, Insightful)
So do it for the love of learning. Don't even think about this as a financial investment.
My experience with a mid-career PhD (Score:4, Insightful)
I started my PhD at 39, and completed at 46, doing all of the work part-time.
I work in R&D for a very large computer company, and found that a mid-career PhD was very useful.
First and foremost, in my own mind, a PhD put me on an equal footing with the large numbers of PhDs that I work for (and with) on a daily basis. I "found my voice" once I had a PhD.
Second, I happened to select a topic that grew in importance after I completed my dissertation, making me one of the company experts in the field.
What did I learn while doing my PhD? Given the point in my career when I did the PhD work, the coursework provided me with a complete refresher course in CS (especially since my undergrad was Electrical Engineering). I also learned that a PhD doesn't mean you're smart, or make you smarter. A PhD is supposed to teach you to perform independent research. But it's primarily a measure of stubbornness.
Re:You should never stop learning (Score:5, Insightful)
Based on the offers I received upon earning a Masters in Computer Science, I would probably be a little better off financially if I had joined the work force at that point in my educational career. Instead, I chose to earn a PhD (in Computer Science). I do not for a moment regret that decision. The degree affords me a fair amount of intellectual freedom (even though I work for a corporation).
The degree certainly does not guarantee a posh research position at MSR (or a similar lab). But, it does demonstrate an ability to think independently and critically, which are skills still valued in the workforce.
Finally, I would note that every CS PhD that I know is gainfully employed, and only one feels under-employed (although a delay in earning the PhD due to an advisor problem didn't help). So, my advice (FWIW) is to go back to school, provided that you are motivated more by novelty (intellectual freedom) and less by money.
Re:Never ever stop learning ! (Score:4, Insightful)
Re:You should never stop learning (Score:3, Insightful)
Yeah you should stop learning. In the middle of your career, the return on investment is going to be weak. You only have about 40-ish years of good work in you (assuming you don't encounter issues with age-discrimination). It's one thing to learn on your own in the context of your job/career or personal time. It's another thing to invest time and money in a further formal education that is only going to provide so much return.
What are you going to do, go be a 45 or 50 year old entering a new path? Right. That'll be taken seriously.
There is no shortage of people who are ready to tell you what can't (or shouldn't) be done. If it is something you want to do and feel strongly about, do it. Every great mind in history, and everyone who ever did something worthwhile had to hear and ignore the naysayers.