Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Masters degree in Comp. Sci with a physics bachelor's?

  1. Sep 12, 2011 #1
    Hey Guys!

    After suffering something of a quarter life crisis in my senior year in undergrad physics, I decided not to apply for my Ph.d. Instead, I decided I'd like to work professionally as a software engineer. Problem is, I have little formal education in computer science (I took a class in java and a class in c, both 100 level). I did substantial programing for my research as an undergrad: I wrote simulations and data analysis in c and later Matlab. I also took a course in Labview as per phys. department requirement at my school.

    So...what are my chances of getting into a masters program in computer science? I figure this will be the best (fastest) way to gain the necessary qualifications to be a SE. What are my chances of getting into a top 20 program? I'd love to work for a google/facebook/oracle tier company, but they only seem to heir out of the best schools.

    What can I do to strengthen my application? I have an ok, but not great GPA (3.41). As I said, I did research as an undergrad and wrote a thesis, but it wasn't published nor was it related to software/computing. I have a good relationship with my old professors for letters or rec. I didn't take the GRE's, but I'm studying for them and anticipate getting in the high 700s for quantitative and low 700s for verbal (or whatever that scales to in the new system). I'm smart and motivated as all hell. In the meantime, I'm teaching myself some programming stuff and plan to take classes at a local college in the spring.

    Any advice or feedback would be MUCH appreciated. Thanks guys!
  2. jcsd
  3. Sep 13, 2011 #2


    User Avatar

    If you are not already a sharp programmer it is doubtful that a master's degree in computer science would bring you to the level required to get hired by Google or facebook. Skill can trump pedigree, but only to a certain point. It doesn't sound like you have any serious programming experience, but as with anyone trying to switch fields at the undergraduate/graduate juncture it's a matter of convincing an admissions committee that you are worth taking a chance on.
  4. Sep 13, 2011 #3


    User Avatar
    Science Advisor

    Hey pimpalicous and welcome to the forums.

    If you want to get into software development, I would recommend that you have some kind of development experience on a project of some sort. How you get that experience is up to you, but it needs to be something solid.

    This is just my opinion, but I think it's pretty hard to be a good designer without having had some solid coding experience (I used to be a programmer). You can't just open some UML program and do some fancy documents without understanding what needs to really go on.

    What code did you specifically write? Did you write actual procedural code in C?

    Chances are if you go for a job at one of those companies, they will ask you to write code on the spot. They will ask you questions where only experience will really help you.

    On top of some "general" questions, others will most likely be domain specific. It's not feasible for any programmer no matter how good to be an expert in every domain.

    Chances are though if you are starting out, you will not be doing anything as serious as the senior development team will be doing. You might be designing widgets for a user interface, or be involved in testing, and generally spending a lot of time learning the platform that drives all of the development.

    My advice for you is to work on some projects and get exposure to projects that are big, complicated, and if you can, things that integrate a lot of different code-bases. This is the ideal training ground for software development because this is as close to the real thing that you will get without it being the real thing. By working this environment, you will start to realize what is involved and all the headaches involved in career based software development.

    Other important things are communication skills, but you probably are good in that regard.
  5. Sep 13, 2011 #4
    Well, I don't think you'll be able to get accepted with your background (or if you are, you're going to be looking at -a lot- of makeup undergrad classes).

    Fortunately you don't really need a masters to get started in programming. My advice would be to learn a language or two (Java maybe, or C#, something in demand, which is quite a lot depending on what kind of development you want to do), either from a book, a class, whatever. It will require a lot of work, especially, as the previous poster suggested, on projects. There are plenty of open-source projects on-line to get involved in if you don't have a formal class. But people want experience, and you've got to get it. It also wouldn't hurt to get certified in whatever language; since you don't have a CS degree, this should get you in the door at a lot of places.

    Not Google, perhaps, but you've got to start somewhere. My advice would be, after getting some experience on your own with a language in use is to try to leverage your physics background; some kind of simulation or modeling programming, perhaps, or something like that. Look for defense funded projects (there are many companies and also universities with such funding) for this kind of work (if you're a US citizen). Did you take a computational physics class? Did you have to do (basic, of course, but still) monte carlo method programming, etc? That's the kind of experience you may have, that a CS grad won't, that you can leverage.

    Finally, there are companies that use LABView, but I'm not sure how much; for instance, SpaceX uses LABView to do some of their testing, and you may be able to find an entry level position that way.

    Good Luck!
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook