After my answer above I realized I had assumed you were looking for a career in areas like cloud computing/commerical computing/industrial computing, etc. I had not thought about scientific computing, which I did a little of long ago. If you are interested in scientific computing the answer is entirely different.
To do anything physics based you will need heavy doses of differential equations: ODE and PDE both; as much as you can learn about numerical analysis; and a lot of linear algebra. Some of the ODE, PDE depend on concepts in real and complex analysis, so you should take courses in both of those.
Undergraduate courses in ODE, PDE are geared towards solutions which do not require numerical analysis, with just a brief nod to the numerical methods. This is all fine, and gives you some experience with diff eq's; but the fact is these methods work only for specific types of equations and tend to be inapplicable to real world problems. So a graduate level course in ODE, PDE and numerical analysis is best. That way you at least know what numerical schemes may work and which, however plausible, are doomed to failure (lack of convergence, lack of stability, etc).
The reason you need linear algebra is because numerical schemes for solving (linear) Diff Eq's lead to very large systems of linear equations. The less well conditioned the original Diff EQ is the more finely you have to take your numerical steps; and the smaller your numerical steps, the larger the resulting systems. Finding usable methods of computing solutions to these systems is an issue in itself.
The deeper knowledge of Differential Equations is very important if only because so many real world problems obstinately refuse to be linear. If you have a non-linear system of equations, you have serious problems. Trying to linearize them, or proving that inconvenient terms don't matter much and can be dropped are very difficult subjects. You can spend a lifetime on them.
You cannot know too much physics (especially if, as was my case, the problems are being presented to you by engineers who do not speak English).
On the other hand, a deep knowledge of computer science subjects, such as sorting algorithms, compiler design, etc. is not so necessary here, because you are mostly just computing, not writing the underlying software.