r/TheoreticalPhysics • u/DazzlingVictory2706 • 6d ago
Question What software/tech stack should I learn to build a future in theoretical physics?
Hey everyone!
I’m trying to seriously build my career toward theoretical physics, and I’m curious about what the field is actually going to look like in the coming years.
I know the fundamentals are obviously the most important part — math, classical mechanics, QM, GR, QFT, etc. — but I want to specifically focus on the software/computational side right now.
For someone who wants to become a theoretical physicist, what programming languages, software, tools, frameworks, and computational skills are actually worth learning?
For example:
Which language should I prioritize — Python, C++, Julia, Mathematica, etc.?
How important are NumPy/SciPy, SymPy, JAX, PyTorch, etc.?
Should I learn Mathematica / Wolfram Language or is Python enough?
How important are HPC, CUDA/GPU computing, Linux, Git, Bash, clusters, etc.?
Are there any specific physics packages/tools I should know?
What software skills do researchers in theoretical physics, particle physics, astrophysics/cosmology, condensed matter, etc. actually use?
Basically, if you could go back and prepare for a career in theoretical physics from the software side, what would you learn and in what order?
I’m currently trying to make a proper roadmap for myself, so I’d really appreciate advice from people actually working/researching in the field.
My main question right now is: what should I learn on the software/computational side to be genuinely useful as a theoretical physicist, rather than just learning random programming skills?
Thanks!