Skip to content

PhD in scientific computing to be a scientific programmer

An answer to this question on the Scientific Computing Stack Exchange.

Question

Intro and disclaimer: this question concerns developing a career in Scientific Computing in industry, starting from an (applied) mathematics background, say an MSc. It definitely arises from my current, personal situation but I think that formulated as is, it is not opinion based and can help also other people. I am based in Europe.

The main point of discussion is:

is a PhD (in scientific computing or similar), on average, recommended/necessary for a job as a scientific programmer?

To be concrete, the target is on physics based simulation software: finite elements, numerical PDEs, HPC, fast solvers... I am looking forward to receiving your bit of experience, especially from those that are in a similar career (and maybe with a similar background). Here are some points I wish to get feedback on, but definitely feel free to expand in your answers:

  1. the job market is rather small and competitive, the title of PhD is an advantage
  2. a master student in numerical analysis does not necessarily have the required computer science/hpc skillset to make them employable without further qualifications: a PhD can be a sensible way to bridge gaps and develop needed skills
  3. a PhD does not prepare to be a programmer, mainly, so that it may not be a very wise investment if the final goal is an industrial position in scientific computing
  4. a PhD title might be necessary to have some research in the future job
  5. many of the few job offers out seem to require the PhD title (or the master's title + years of experience), so that a PhD might be needed

Answer

I think you are asking the wrong question.

You are asking "do I need a PhD for folks to hire me as a scientific programmer?" This is a kind of hypothetical. You're asking and getting opinions, that's fine.

I think you should be asking "will folks hire me as a scientific programmer without a PhD"? This is an experiment you can try right now.

A PhD will take you 4-6 years, which is an enormous opportunity cost if you'd prefer to be doing something else. Starting today you could:

  1. Identify 10 jobs you could apply for
  2. Use that as the basis for tailoring your resume to this sort of position
  3. Send that resume to people for review (I'm happy to take a look)
  4. Target applying to 50 jobs over the next month.
  5. Make sure your GitHub looks active and, if it's sparse, try to find some projects to contribute to or clean up your old repos so they are beautiful demos of what you're capable of. This tests the waters of your interest, but also helps demonstrate that you're able to execute on the skill you're planning to claim expertise in.

If this works, you've accomplished your goal and saved 6 years. If it doesn't, then maybe you timed the job market wrong or maybe you do need more skills.

Bottom-line: run experiments on yourself and the world.