Slashdot Mirror


Advanced Degrees for Software Developers?

DagnyJ asks: "I am an Undergraduate planning to pursue a Graduate Degree in Software Engineering and Design. The question is whether to get a Ph.D. or a masters degree. When pursuing a career in this industry, is a Ph.D. going to make much of a difference in opportunities over a Master's degree, or would it be better to get out of school fast and get some real experience?" It's an ever popular question for college undergrads in their senior year. With the change in economic climate, maybe staying in school for a few more years might not be a bad idea.

14 of 27 comments (clear)

  1. Question not clear by Dancin_Santa · · Score: 3

    What do you want to do as a Computer Science graduate?

    Do you want to code and hack? Get a job right away.

    Do you want to do research? Check out PARC's employment page.

    An advanced degree will not get you any further than a bachelors in JoeSchmo Bank. But you won't even get talked to without one if you want to work in a research center (HP, PARC, MS Research).

    Dancin Santa

  2. Too much education by Hilary+Rosen · · Score: 3

    Way way back in the early 1980s my family took a vacation on the Shetland Islands, north of Scotland. One day my father got talking to an old crofter. After a while the crofter turned to me and asked how old I was and what my trade was. I told him I was 13 and that I was still in school. He said "What do you you want to be in school for, at your age?".

    I have a masters degree (Mathematics). For as much as it was a fun way to spend the time, it has had no bearing on my career whatsoever. In fact, apart from getting me in the door at a few short-sighted companies, my undergraduate degree was pretty worthless, too.

    My advice: go get a job. What do you want to be in school for, at your age?
    --

    --
    Yes, the nick is flamebait
    1. Re:Too much education by Socializing+Agent · · Score: 3
      I have a masters degree (Mathematics). For as much as it was a fun way to spend the time, it has had no bearing on my career whatsoever. In fact, apart from getting me in the door at a few short-sighted companies, my undergraduate degree was pretty worthless, too.

      I don't think you can make that comparison. A masters' in maths is basically the consolation prize for quitting (or failing out of) a Ph.D. Sure, you're not using it, because a masters' in maths is designed to equip you to do maths research. On the other hand, a traditional masters' in CS can take one of two paths: as prepatory for research or as prepatory for industry.

      Add to this the fact that many schools are also offering the a terminal CS masters' (sometimes called a MCS instead of an MS), and a masters' in CS is a clear advantage. Fact is that many students never learn design skills or many critical big-picture CS skills, and a masters' can provide valuable training as well as providing experience working on a large project.

      It really depends on what kind of software development you want to do. Do you want to crank out perl scripts for some dot-con, or do you want to work on large, critical systems? I'd say that in the case of the former, you're wasting your time in college. If it's the latter, though, then find a grad program with a strong engineering and methodologies emphasis as well as strong fundamentals and do the MS. It'll only take you a year-and-a-half if you're supporting yourself, but you ought to try to get a research job if they offer you support.

    2. Re:Too much education by cpeterso · · Score: 2


      I went back to get my MS after coding for a few years. I think that my work experience gave me a better idea of what I wanted to get from my MS. I used my class projects as a chance to gain hands-on experience on stuff that my job would never touch on. That experience helped me find a cooler job after I graduated. Plus, with some work experience, I could distinquish what class material was BS and what might be actually useful in "industry". ;-)

      Another huge benefit is networking with other grad students! Many of the students in my MS program were part-time students because they also had day jobs. If you've worked with them on class projects, they know you're smart and can work well together (if applicable ;-)

      One problem though is job inertia. If you've been working for a few years, it's difficult to give up that paycheck and return to living as a student again! Night classes can help, but you'll take much longer time to graduate. Plus you'll have NO free time with a day job and night classes! Instead, I quit my job and finish my MS with a double work load. :-)

  3. Studies show by yamla · · Score: 3
    Last time I checked, the studies show that the average salary for a person with an MSc (in Computing Science) is worth about $10 000 a year more than a person with only a BSc (in Computing Science), all other things being equal. A PhD adds virtually nothing to the average starting salary, however.

    My best advice to you is this. Only go for a PhD if you feel you can make a meaningful contribution to the field. Do not expect more money or more opportunities. Sure, you could perhaps find better opportunities with a PhD but the odds aren't for it. Instead, you'd be better off making money with an MSc and building up your experience that way.

    --

    --

    Oceania has always been at war with Eastasia.
    1. Re:Studies show by Black+Parrot · · Score: 2

      > A PhD adds virtually nothing to the average starting salary, however.

      ...and delays the time of start by 3-7 years, too.

      > Only go for a PhD if you feel you can make a meaningful contribution to the field.

      SE might be an exception, but in most fields the PhD is a research degree. Unless DagnyJ's "pursuing a career in this industry" means getting a research position, his/her potential employers won't see much value-addedness in a PhD.

      OTOH, getting a PhD might lead to a job that's more fun than some of the grunge-grind jobs that lots of people in IT are stuck with.

      --

      --
      Sheesh, evil *and* a jerk. -- Jade
  4. All My friends Have Graduate Degrees, And... by human+bean · · Score: 3
    ...I hire them every so often. It's funny to read their resumes and watch them squirm whilst sitting in front of the desk ;)

    Honestly, get real-world experience just as soon as you can. You should have started before you got into college. Finish the masters if you feel like hanging around, but I have seen it make little difference in the actual job market. Get the PhD., though if you are rich and can afford a research job.

    That being said, you MUST get the experience. Even in a pure research environment it helps to understand what outside factors and demands exist.

    --

    *whup* "Get along, little electrons. Heeyah!"

  5. Pros and cons of a Ph.D. by geophile · · Score: 4
    I have a comp sci Ph.D. and 13 years of experience building software products, so I know what I'm talking about on this topic from both sides: trying to escape academe, and interviewing job candidates in the same position.

    An advanced degree is an indulgence if you want to work as a software engineer. Do it if you want to, but don't expect it to improve your salary. The only thing that counts is years "in the real world", i.e. writing code for a customer or product. I mean that literally. If someone is trying to hire a software engineer with five years of experience, then six years in grad school and one year of experience will usually not get past a screening of the resume.

    A Ph.D. can actually be a hindrance. If you get one, many potential employers will view you with suspicion for a number of reasons. The attitudes I've seen are that if you have a Ph.D. you must:

    • think you're too good to write code, fix bugs, write release notes, etc.
    • be lousy at writing code.
    • be incapable of writing efficient code.
    • be more concerned with cool ideas and theory than shipping a product.
    • have outrageous salary demands.
    • have a problem dealing with holders of mere B.Sc. and M.Sc. degrees.
    I have never seen these sorts of concerns applied to candidates with an M.Sc. degree.

    I'm definitely not saying that you shouldn't get an advanced degree. I really enjoyed it, and I think the quality of my work (including code) greatly benefits from my education. My point is that potential employers may not see it this way.

    I'm also not saying that you should go get a programming job right out of high school. Learning the basics of complexity theory, data structures and algorithms, compilers, databases, numerical analysis -- typical undergraduate courses -- is really important if you're going to be a serious software engineer.

    1. Re:Pros and cons of a Ph.D. by geophile · · Score: 2
      You know very well what the ethics are.

      If you're really asking about practical matters: what would you say you were doing for all that time? Actually, you could probably make up some incredibly boring plausible thing and get away with it. Providing, of course, it weren't the first or second most recent thing on your resume.

  6. "Career Guide for Engineers & Computer Scientists" by babbage · · Score: 2
    See the Career Guide for Engineers and Computer Scientists, by Philip Greenspun. Not exactly serious commentary, but funny.

    I seem to remember him having a rant on there about the diminishing value of a graduate+ education, but I can't seem to find it now, and the content I'm thinking of seems to have been folded into the page above. *shrug*

  7. Re:A *serious* reply. by SecurityGuy · · Score: 2

    According to Fred Brooks (yes, that Fred Brooks), you shouldn't do it for the money. You'll spend more in tuition and lost income for the years you're in graduate school than you'll regain in increased salary. His suggestion was to get a PhD in Comp Sci if you can't bear the idea of not getting a PhD in Comp Sci. IOW, do it if you love it and are willing to take the hit in lifetime income.

  8. In my experience... by dmorin · · Score: 3
    if I see the resume of a CS with a PhD and only a handful of years of experience, I tend to think "He's just had time to get all full of himself and think he's god's gift." My experience bears me out on that one. I wouldn't hire you, on the expectation that you would expect to get considerably more money for those three letters, when I feel that if anything they would be a detriment to me having you on the team. (All recent PhD grads are now welcome to direct themselves to /dev/null. I'm entitled to my opinion, which comes only from my experience. I'm sure there are some wonderfully humble new PhDs out there that I just haven't met yet.)

    If you come to me as a PhD with 20years of industry experience I'll see you as a wizened (wisened?) veteran who care share some real insight with myself and my team. Then again I might see any guy with 20yrs experience that way, the PhD would be extra in that case.

    As for masters? I was at a college recently, doing some recruiting. When I saw bachelors kids I tended to think "Ok, entry level, we'll start him off as a junior programmer and give him the scut work." Masters students tended to make me think "Ok, here's a candidate to go right into our core team and be given some responsibility." Why the difference? In our case it's primarily about design skills. If you know how to code, I'll have you write code. If you know how to design a system, I'll have you doing that. In general I found that the masters guys had more experience to backup their claims of knowledge. The BS ones said "I have experience in Z" when they meant "I've downloaded the free Z compiler." Masters students who said that meant "I had an internship at Oracle where I implemented the following project in Z."

    Just my experience. There have been entry level kids come in and wow me with their experience (although not many, there's less of you out there than you think). And there have been masters holders who don't know which end of the monitor is up. Make of it what you will.

    An interesting question would be, what about somebody who gets a BS but has the experience of an MS? My answer would be "I'm not sure that's possible. If you really have equivalent experience, then why don't you have the degree to back it up? It's more likely the case that you think the cases are similar, but they're not.

    In the interests of full disclosure : I have a bachelor's in CS. I spent 3 years at a small company as the only (hence, "lead") programmer, then 2 at the company that bought them where I became the team lead by nature of my expertise on that system. I had about 8-10 years experience in the field before circumstances turned me into the manager I am today.

  9. My experience getting an advanced CS degree (1987) by bee · · Score: 2

    My advice may be a bit old, since I went to grad school in 1987, but when I was going to grad school in CS, pretty much everyone there originally entered because they were going for their Ph.D. The school didn't accept very many Masters-only students simply because their philosophy was 'if they're going to aim low, they can aim low somewhere else'.

    Granted, about half or maybe more of said students ended up taking the Masters consolation prize and leaving (your author among them), but out of 100 grad students or so, maybe 5 of them entered with the intention of just getting a Masters. This was just my experience, YMMV, Insert Disclaimer Here, etc.

    ---

    --
    At least mafia-owned pizzarias make excellent pizza. Compare to Bill Gates.
  10. Re:Ph.D can certainly be a hindrance by geophile · · Score: 2
    Wow, you're really insecure and bigoted. In your worldview, all PhDs are underqualified, conceited, and out for your job. This based on a small sample you once saw at some college.

    Either a PhD applying for one of your jobs really matches your expectations, in which case you shouldn't hire them, and if you do, it should quickly become clear how incompetent and conceited they are. Or he/she really is competent and interested in doing a good job instead of covering his ass, (which seems to be your main concern), and he/she probably does deserve to have your job.

    You basically admit to discrimination (emphasis added): "My fear is that if I hire a PhD ... With an MS degree, this problem is reduced and with a BS it is eliminated."

    Or maybe your posting is a troll. OK, well you got me.