Career switch for PhD: skills question

How well should a PhD looking for a research quant role know C++?

  • Extremely well. You must write "bank grade" code like a ninja

    Votes: 1 33.3%
  • It helps, but its not required.

    Votes: 2 66.7%
  • If its a true research position you are after, perfect C++ knowledge is unnecessary

    Votes: 0 0.0%

  • Total voters
    3
I have a PhD in engineering/applied physics from a top (e.g. MIT/Stanford/Caltech) university. I'm currently a researcher at a national lab. Recruiters and employers seem very interested in me given my skills and background.

However, it seems that many of them are looking for people with PhDs in physics, with a strong publication/research career, who ALSO write "bank grade" C++. By that, I mean a heavy emphasis on reliability and architecture to prevent bugs.

Even though I got the programming question correct, the interviewer was focused on checking for improper use of the function (e.g. if the inputs are non-sensical). That seemed much more important than performance.

The problem is, if you are a good researcher, you don't write "bank grade C++", you write "research grade" C++ (more likely Java or Matlab). After all, the goal is to publish a paper, not write code that can handle every conceivable bug, NaN, Inf, and null pointer using every esoteric and fancy C++ 11 feature known to man (e.g. unique_ptr, virtual destructors, etc.).

Questions:
1. Is there really a supply of world-class researchers with top university PhDs in physics who write bank grade C++?? If so, then I need to learn how to do this properly.

2. Or maybe I just need to be more careful before interviewing, and how I present my resume. In other words, I need to say "looking for a research position". Otherwise, I'm going to get grilled by financial C++ code ninjas with mad skillz who don't really care about publications in Nature.
 
Last edited:

Daniel Duffy

C++ author, trainer
1. One does not learn to program industrial software at university. It is not needed in most cases.

But the transition Uni -> industry is usually a culture shock.
 
1. One does not learn to program industrial software at university. It is not needed in most cases.

But the transition Uni -> industry is usually a culture shock.
OK, so I guess this interviewer was just fishing for a unicorn that somehow happened to learn industrial software programming in a research setting?
 

Daniel Duffy

C++ author, trainer
OK, so I guess this interviewer was just fishing for a unicorn that somehow happened to learn industrial software programming in a research setting?
Be honest about your C++ skills in the interview. Don't try to bluff it.

It takes [7, 15] years to call yourself an *experienced* developer.
 
Last edited:

Yike Lu

Finder of biased coins.
No, you don't need industrial grade C++. However, if you do not start second guessing your error checking and corner cases once you hear those magical words "this is going into production", it's a major red flag.
 
Top