1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Advice for starting a career in scientific computation?

  1. Oct 18, 2009 #1
    Hello, everyone. I've been reading this site off and on for a few weeks, and I'd like to ask you a few questions, if you don't mind.

    I'm a 30 year old software developer with a BS in computer science (and a mostly completed MS that I really regret not finishing). I generally enjoy my work, but its gotten somewhat stale lately and I'm looking for a bit of a change. I'd love to do scientific research, but as other posts in this forum have made clear, starting a career in physics is very difficult, especially if you get a late start as I would be.

    One option that I'm considering is scientific computing. I know that modern physics research (as well as chemistry, molecular biology, and many other disciplines) makes extensive use of computer simulations and parallel/distributed computations. I think that I would really enjoy working on these systems, as I could continue doing the engineering and number crunching that I love while contributing towards scientific research and learning about new, interesting subjects. It sounds like exactly what I'm looking for.

    The key question that I have is what kind of background I would need to pursue such a career. I am an excellent software engineer with plenty of real-world experience on systems like radar and real-time signal processors, but I don't have any experience with large-scale parallel/distributed systems and my knowledge of physics is pretty superficial. So I would almost certainly have to go back to school to gain the knowledge that I need to compete. This isn't necessarily a bad thing - I miss being in an academic environment. :-)

    What would be my best option here? A degree in physics, with an emphasis on computational physics? Would I have to go all the way to the PhD, or could I get by with a BS or MS and my previous degree and work experience? Or maybe a PhD in computer science specializing in distributed systems? Maybe some other path that I haven't thought of? Or is it possible to get into this area without earning another degree? And what schools have good programs in computational physics or similar areas? I really don't know much about this area, and could use all the advice that I can get.

    Of course, maybe I'll go for that PhD in artificial intelligence that I've been dreaming of, instead. Or go really crazy and pursue a PhD in physics and try to do research in quantum computation. Or forget academia, quit my job, and start a band. :-) I'm still trying to figure out what I want to do next, but I want to make sure that I have all of the information that I need before making the decision.


  2. jcsd
  3. Oct 20, 2009 #2
    There are a number of options here. One is to finish your MS in Computer Science, learn HPC on your own, and then try to find a job as a system administrator at a supercomputing center. One of the things that you should do is to start downloading software packages (such as Condor) and start trying to create your own mini-cluster.
  4. Oct 21, 2009 #3
    Thanks for the reply, twofish. The link to Condor was appreciated - I'm curious about the most common systems and environments used in research, so I'll have to check it out. I'm not particularly looking to work as a full-time system administrator, but it might be a way to get a foot in the door before moving on to designing and developing HTC systems.

    Any other suggestions from twofish or anyone else? While I do enjoy the pure software world, I'd really like to be more "hands-on" with the science and numerical aspect of my work. I tend to enjoy developing systems that perform a lot of high performance number crunching, like real-time signal processing. I've actually spoken to someone at Rutgers University, and he suggested that I would probably need to pursue a physics PhD for this, as most of the computation work in research is performed by grad students. Is this true in your experience?

  5. Oct 21, 2009 #4
    You'll find that most of your time and effort in HPC is being a part time system administrator. Learning how the technology works is really useful, and if you have a four or five node home grid, you can do real computational research.

    Also "real-time" and "HPC" are quite different things. In real-time signal processing, you want to minimize the amount of computation that you do, and it's all about reducing latency. Most HPC calculation are done as batch jobs, and you don't care about real-time interaction. Both are extremely challenging technologies, but they are different technologies.

    The important thing is to get yourself inside a research community. Something that may help you is that there are a lot more job openings for system administrators than there are for physics researchers, and I've known people that have gotten research positions through the back door by applying for system administration positions. An interest and experience in scientific computing really does make a resume stand out when you apply for those roles.
  6. Oct 21, 2009 #5
    One option is to apply for a position as a straight software developer or system administrator in a heavily numerical field (i.e. medical imaging, petroleum exploration, finance). If you can find a way of finishing your MS, that would help a lot.

    Quantum computing and artificial intelligence might be useful in about twenty years, but their usefulness now is pretty limited.
  7. Oct 21, 2009 #6
    That's a very good suggestion, and regardless of what else I do, I'll probably look into it. Thanks a lot!

    One of the next items on my checklist is talking to my old school about picking up where I left off. It's been a few years, so I don't know what I'll have to do, but I'd really like to finish my degree.

    Yes, but they're awesome! :-)

    Thanks for your replies, you've been very helpful.

Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook