• C++ Programming for Financial Engineering
    Highly recommended by thousands of MFE students. Covers essential C++ topics with applications to financial engineering. Learn more Join!
    Python for Finance with Intro to Data Science
    Gain practical understanding of Python to read, understand, and write professional Python code for your first day on the job. Learn more Join!
    An Intuition-Based Options Primer for FE
    Ideal for entry level positions interviews and graduate studies, specializing in options trading arbitrage and options valuation models. Learn more Join!

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
Joined
5/29/15
Messages
30
Points
28
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:
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?
 
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:
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.
 
Back
Top