1. 17

The stars seemed to have aligned for me and going back to graduate school has suddenly become an option. I have a major problem though: as far as I can tell, career wise, no one seems to care about anything past a BS. Is this everyone else’s experience/understanding as well?

Is there any point in a masters degree in this field from a career perspective? Do any lobste.rs’ out there have a MS or PhD in Computer Science, Software Engineering, or a similar field? Was it worth it outside of academia?

  1. 16

    Depends on what you want to do with the degree. I’ve got a PhD (computer engineering) and have been quite happily in a research career (outside academia) for a couple decades. I doubt it would have been as useful had I just wanted to be an engineer off in industry, but I never wanted that anyways. The graduate degrees help in the research field - both early on (getting into jobs that require them), and during the career (e.g., being PI on grant proposals, serving on committees, obtaining external positions at universities).

    The biggest mistake I see people make is have some expectation that advanced degree == salary. I’m happy with my pay but it’s far from competitive with the FAANG’s and other industry gigs where advanced degrees are mostly useless (there do exist jobs where the advanced degrees help, but they aren’t that prevalent). I didn’t go into this line of work to make $ - I wanted to do research since I was a kid, and here I am. I’m quite happy I get paid to have the intellectual freedom to poke and prod at off the wall ideas and see where they go.

    Another mistake I see is people who take on huge debt for school, and then need the big $ job afterwards to pay it down. I usually tell potential students to only consider grad work if they can get a research or teaching fellowship that pays the tuition.

    1. 2

      Thanks a lot for the reply. This pretty much confirms my suspicions and the limited research I did. It’s also sort of a bummer. I really enjoy school but I also want to get more out of it than some paper with my name it.

    2. 11

      I have done both masters as well as a PhD both in CS after my bachelors in Civil Engg (I joined SE industry after my bachelors and went back to school after 10 years in the industry for my masters and later Ph.D.).

      You do your masters for an extra leg up in the industry; Very few jobs actually require it though. On the other hand, depending what subjects are in your masters, it can be really worth it.

      Don’t go for a Ph.D. unless you want it. The jobs associated with a Ph.D. in CS typically have lesser salary than the typical jobs you will get with M.S. It will also have more work hours. So if you do not absolutely love independent research, do not go for it.

      Seeing that every one seems to be offering the same advice, let me tell you the other side too. When starting my Ph.D. I assumed that Ph.D. was like a better masters. I had never done independent research before, and if someone had told me that Ph.D. was exclusively about being able to do independent research, I wouldn’t have done it. However, having gone through it, and having done independent research, I find it immensely fulfilling. I don’t think I will ever be happy going back to the industry setting.

      1. 5

        Don’t go for a Ph.D. unless you want it.

        I can’t agree with this more. A mentor of mine while I was interning during undergrad told me to not get a Ph.D. if I just wanted more letters after my name, but instead, to get it if I wanted to do Ph.D. work. I went for the Ph.D. and left early with a Masters. While I enjoyed research a lot, academia was never for me…but I wanted those extra letters after my name.

        With that said, there are also plenty of opportunities to do research in industry with or without a Ph.D.

      2. 6

        Purely from a career perspective, if you have been able to land (and do well in) your first programming job, there is no point in education at all, not even high school. If you do not care about computer science itself enough to want to spend years on learning it for its own sake, and are looking for things to optimise your lifetime salary instead - then I would recommend looking in to things like ‘learning to write better emails’ or ‘spending more time networking’ or ‘learning some skills related to whichever field of business you see yourself doing programming in’ or ‘learning how to do salary negotiation’ - there are many options here.

        There are two exceptions to this that I am aware of. The first is that if you want to emigrate to another country and work there, many of them are easier to get residence in if you have an advanced degree. The second is that there are companies (and even entire subfields in some countries, eg supposedly automotive programming in Germany) that have an expectation that you have a particular degree in order to work there. My degrees were in logic, and that not being ‘Computer Science’ was a sticking point for a particular european company that I was looking in to. I have also heard of large Japanese companies that only employ programmers who have PhDs in Comp Sci, for example. But this is a very company/region specific thing.

        1. 1

          My career is well established at this point. I’ve been working as a developer of some sort for over a decade now. I think your advice is still solid though. Thanks.

        2. 5

          I took a handful of extremely good classes in grad school that were life-changing for me … specifically an Advanced Computer Security seminar where I met people and did projects that helped me get where I am today. However, 80% of it was a waste, just classes I didn’t really care about that were required for the program. I’d find those couple of specific classes that are really important to you, excel in them, and don’t worry about a whole degree.

          (I went during the last recession, when the best jobs I could get paid surprisingly poorly, so the opportunity cost was relatively low. Today things are different!)

          Sadly, there’s good evidence that companies negatively select against MS degree holders: https://blog.alinelerner.com/how-different-is-a-b-s-in-computer-science-from-a-m-s-in-computer-science-when-it-comes-to-recruiting .

          1. 3

            I have felt the same about my own university experience and have heard others say similar things too. Effectively to the tune of “one or a handful of classes were life changing but the rest wasn’t really useful”. The only issue is, how would you have taken that class if it weren’t for the required curriculum of the degree program? I keep coming back to the question of “How would we discover such life changing courses on their own and outside of academia?”

            1. 7

              The world is full of nonsense research and papers; developing effective techniques for finding the gold nuggets is a requirement for success in any field.

          2. 3

            I have a MSc Comp Sci. I have not really “needed” it for my job (though I certainly learned some things that have been of general use). It certainly is of no consequence to my employer, and does not translate to more pay or promotions. I am unaware of any jobs that I would be interested in (technical jobs, developer positions) that would require it outside of academia.

            That said, I really enjoyed my MSc program, and am glad I did it. I enjoy school, learned neat things, and am proud of the work I did for my thesis / dissertation. I also did it through the military so it didn’t cost me anything (except 3 years of service), but I am not sure if I would feel differently if I had incurred debt or something.

            1. 3

              Depends on what you want to do. If your dream is to become a highly paid full-stack engineer at some hot SV startup, then yes: ditch your grad-school dreams, and keep hacking away. The first job is always the hardest to land: past that point, everyone just looks for prior work experience. Why? Because you don’t learn how to write good maintainable code in grad school, and you can’t afford to treat your job like a grad-school project.

              However, if you’re looking to learn about what computer science is, and explore your interests, I’d highly recommend at least a Masters in the subject. I had a ton of open source experience prior to grad school, and wondered what value a Masters in the subject would add, but jumped into it anyway. In grad school, I wrote my first compiler, my first scheduler for Linux, and learnt a ton about computer architecture. The algorithms course was a breeze, and I aced it without studying, but I enjoyed the project-driven courses the most. Before grad school, I thought I wanted to do systems engineering, because I was very good with C and had great attention to detail, but my career trajectory changed when I wrote my first compiler. My first job was in compiler engineering, and I enjoyed it immensely.

              So, what does a good grad school education give you? The time to experiment and learn new things; the motivation to complete a difficult project, show it off in front of your class, and get graded for it. You’ll be surprised to suddenly find that you’re interested in things that you didn’t consider previously.

              Sure, attending Columbia made my resumé look a little more impressive to potential employers, and the prestige does help boost your confidence when starting out, but a few years of extraordinary work eclipses that.

              1. 2

                I think it depends what kind of job you are looking at. For example, many of the “industrial research” positions would probably ask for a PhD.

                1. 2

                  My impression is that getting an advanced degree in software isn’t going to boost your career or your earnings UNLESS you use it to “pivot” into a specialty field like machine learning, robotics, graphics, etc., or you specifically want a job doing research.

                  Otherwise, I feel 2 of job experience will probably boost your pay and hire-ability just as much as or more than 2 years working on a masters degree.

                  1. 1

                    Maybe my experience is odd, but here in Germany many (depends on uni ofc) people my age and older (let’s say 35 and up) have a sort of degree that was as long and roughly equal to a Master’s and only younger people have gone the BSc+MSc route. (It’s called Diplom).

                    Most positions I held and have interviewed for didn’t really ask for any sort of degree, but I’ve stayed away from big companies. Of the ads for bigger organizations I’ve more seen “BSc or equal”, not “MSc or equal”, but this is anecdata. Much more important is experience and appearing competent in the interview.

                    Also don’t take this as discouragement, but my main reason to go study at all was to learn things I thought would be harder to learn by just continuing to work as a programmer and I was a little disappointed. But I would absolutely not say it was useless, but maybe a BSc would’ve been better for me and I could’ve stopped with less time invested. Then again I relaistically would’ve probably not done this, but continued on because it would’ve felt half-baked. Which in retrospect it isn’t.

                    So my only advice would be: find a program where you think you can learn a ton in those 4 or 6 semesters, don’t just do it for the degree on paper. Or if you do it for the degree, at least learn something interesting. ;)