Transitioning from Theoretical Physics to Software Dev: Steps & Difficulties

In summary: A masters in CS would be a good start, but it's not necessary. There are plenty of online courses that would cover the basics. There are also many software development bootcamps that would be a good option.
  • #1
ATmundo
6
4
I'm going into my final year of undergraduate theoretical physics. I have had a bit of a deviation in what I want to do and would really like to work in software development in the future. How difficult would it be for me to deviate from my current position and what steps should I take to to enter this field. Thank you very much.
 
Physics news on Phys.org
  • #2
Welcome to PF. :smile:

What programming languages have you learned so far? What is motivating you to want to switch career plans? What kind of software do you want to develop?
 
  • Like
Likes Vanadium 50
  • #3
And what country are you in? In what country do you want to work?
 
  • #4
berkeman said:
Welcome to PF. :smile:

What programming languages have you learned so far? What is motivating you to want to switch career plans? What kind of software do you want to develop?
I have only learned python and a dabbled a bit in C++. I don't necessarily want to change career I just had no exact career in mind when I started my degree. I did physics partially because I thought it would be useful but mainly because I enjoyed it and wanted to learn. I have no exact type of software that I want to code but ideally one which allows me to solve cool problems and produce something helpful and meaningful. I like software development as it allows for a lot of control over the type of life you want to live. I want to have a good work life balance, low stress and yet still make decent (not necessarily amazing) money. It also allows me to program which I find fun and solve problems which I really enjoy.
 
  • Like
Likes symbolipoint
  • #5
Vanadium 50 said:
And what country are you in? In what country do you want to work?
I am from Ireland and would like to continue working in Ireland.
 
  • #6
ATmundo said:
How difficult would it be for me to deviate from my current position and what steps should I take to to enter this field.
So do you want to also earn a degree in CS, or are you asking what you can do informally outside of your Physics degree to make you a good candidate for software jobs?

The CS classes in university are pretty specialized and different from other Engineering classes (let alone Physics classes). It's important IMO to at least take classes in Data Structures and Object Oriented Programming and other CS specific classes to make you better at architecting and coding software projects. I also found my class on Compiler Design to be very interesting and valuable, since understanding how compilers work has helped me a lot in working on the more complex software projects that I've been involved with.

So if you want to also earn a CS degree, it would probably add at least a year or more to your university time. If you want to be considered for employment in some CS area, you would either need to learn all that stuff on your own (not easy), or choose a specific type of coding and the appropriate languages, and consider attending a "Coding Academy", which takes about 6 months of full time work, at least for those academies that we have here locally in Northern California.
 
Last edited:
  • Like
Likes vanhees71, Hamiltonian, Delta2 and 1 other person
  • #7
berkeman said:
So do you want to also earn a degree in CS, or are you asking what you can do informally outside of your Physics degree to make you a good candidate for software jobs?

The CS classes in university are pretty specialized and different from other Engineering classes (let alone Physics classes). It's important IMO to at least take classes in Data Structures and Object Oriented Programming and other CS specific classes to make you better at architecting and coding software projects. I also found my class on Compiler Design to be very interesting and valuable, since understanding how compilers work has helped me a lot in working on the more complex software projects that I've worked on.

So if you want to also earn a CS degree, it would probably add at least a year or more to your university time. If you want to be considered for employment in some CS area, you would either need to learn all that stuff on your own (not easy), or choose a specific type of coding and the appropriate languages, and consider attending a "Coding Academy", which takes about 6 months of full time work, at least for those academies that we have here locally in Northern California.
I wouldn't mind doing a masters program. Like ideally there would exist a 1 year or so masters that accepts theoretical physics students and gives them the necessary skills to get a software development job. Do such masters exist to your knowledge or would the things I need to know be too elementary to be contained within a masters program?
 
  • #8
I'm no expert on that question, and you may have to talk to your local universities to see what they can offer, but it's hard for me to believe that you can get into a Masters program in CS without having taken at least the 5-10 undergraduate prerequisite classes. Masters work is usually more specialized in nature (with different areas of specialization), with no time for re-taking basic CS classes.
 
Last edited:
  • Like
  • Informative
Likes gwnorth, symbolipoint, vanhees71 and 1 other person
  • #9
berkeman said:
I'm no expert on that question, and you may have to talk to your local universities to see what they can offer, but it's hard for me to believe that you can get into a Masters program in CS without having taken at least the 5-10 undergraduate prerequisite classes. Masters work is usually more specialized in nature (with different areas of specialization), with no time for re-taking basic CS classes.
Yeah that makes a lot of sense. I appreciate the response. I am meeting with a head of CS in one of my local universities and I'll ask him how he thinks I should approach this.
 
  • Like
Likes vanhees71, Delta2 and berkeman
  • #10
I think the answers you have received so far are somewhat US biased.

Firstly undergraduate degrees in Europe don't generally work with the "mix and match" style of US degrees; there will be a couple of CS related courses on a Physics degree programme (usually computational stuff in C++ or Python which is what I assume you have done) but there's no way you could take OOP or compiler design.

But secondly, on the other side of the coin, it is very common for employers with big IT intakes to recruit science, and particularly physics, graduates.

So to answer the question in the title of the thread, I'd say its probably easier to "transition" from an undergraduate theoretical physics degree to a career in software development than it is to stay in theoretical physics.
 
  • Like
Likes vanhees71 and Vanadium 50
  • #11
Wall Street math is largely about differential equations, so physics degree is an advantage there.

If I were you I'd find the kind of job I wanted to do, then ask the people who do the hiring what they are looking for. It isn't a secret.
 
  • Like
Likes vanhees71 and berkeman
  • #12
pbuk said:
I think the answers you have received so far are somewhat US biased.

Firstly undergraduate degrees in Europe don't generally work with the "mix and match" style of US degrees; there will be a couple of CS related courses on a Physics degree programme (usually computational stuff in C++ or Python which is what I assume you have done) but there's no way you could take OOP or compiler design.

But secondly, on the other side of the coin, it is very common for employers with big IT intakes to recruit science, and particularly physics, graduates.

So to answer the question in the title of the thread, I'd say its probably easier to "transition" from an undergraduate theoretical physics degree to a career in software development than it is to stay in theoretical physics.
This is a hopeful reply. I appreciate the response.
 
  • #13
In Holland: absolutely no problemo. If you know Python and how a computer is turned on, lots of companies are interested.

Edit: what pbuk says.
 
  • Like
Likes vanhees71
  • #14
A lot of software companies hire for specific skills, so having a bachelor's in physics plus any sort of concrete demonstration in skill should get you a job. Class projects or mini research projects or something you did in your own time - highlight that in your resume and be well prepared to talk about it. Real projects not just "I took this class." You shouldn't have much difficulty transitioning if you're motivated to keep programming on your own time until you get hired.

Edit: I would avoid additional education if possible. Just get your first job. Once you have a B.S. Physics plus 2-4 years experience in software, it won't matter that you never did whatever 12 or 18 month software crash course you could possibly have done. Fortunately you still have a year left to build a real software portfolio if you feel it is lacking right now. Write a beta app even if you ultimately don't commercialize it, write physics simulations, dabble in DFT, make a silly game, join some sort of FOSS project and just read thousands of lines of code and make a few minor contributions when you feel confidant. Anything you do in the next year can help, but some are better than others.
 
  • Like
Likes Argonaut and vanhees71
  • #15
So I guess the money issue is a big concern to you. (For example of having kids, etc).

I Cannot blame you, if I weren't as obsessed in maths-physics-engineering-logic I would too may have opt to go to the industry. But the powers of be didn't let me...
 
  • #16
haushofer said:
If you know Python and how a computer is turned on, lots of companies are interested.
You make it sound easy to find work in Holland. From what I've seen while looking for work in the U.S., most companies want candidates with years and years of experience programming in various languages, years of experience coding in those languages in a professional environment supplemented by a college education, and numerous other qualifications that I do not usually bother to read or understand, because by the time I finish skimming the list of requirements for a given position, it is more than apparent that I am unfit for the role. That being said, as computer science was not my major, I cannot disagree.
 
Last edited:
  • #17
Eclair_de_XII said:
most companies want candidates with years and years of experience programming in various languages, years of experience coding in those languages in a professional environment supplemented by a college education, and numerous other qualifications
This is not relevant to this thread which is looking at graduate entry positions as the OP is
ATmundo said:
going into my final year of undergraduate theoretical physics.
 
  • #18
I have a PhD in theoretical physics and, during the course of my career in applied physics, I have learned at least nineteen different computer languages. I design, build, and test prototype systems that are then passed to engineers for manufacture. For me, programming is a necessary tool but not an end in itself. I recommend that you stay in physics, acquire strong math skills, and consider programming as a means to an end rather than an end in itself. Your saleability will be much better.
 
  • Like
Likes berkeman
  • #19
How about apply physics? It needs both physics and CS.
 
  • #20
ATmundo said:
I like software development as it allows for a lot of control over the type of life you want to live. I want to have a good work life balance, low stress and yet still make decent (not necessarily amazing) money. It also allows me to program which I find fun and solve problems which I really enjoy.
You must not count on that. I am acquainted with a software developer, and he is forced to endure much stress. He has also suffered a couple of lay-offs.
 
  • #21
Psi Star said:
during the course of my career in applied physics, I have learned at least nineteen different computer languages.
How does or did that happen? How effectively? How so many?
 
  • #22
symbolipoint said:
How does or did that happen? How effectively? How so many?
Computer languages are limited in scope. They are all basically the same. It's matter of learning the niggling details and gradually picking up speed, which can take years. Learning the basics might take only a few hours.

The rules of logic are very simple. True false and or not. Program flow is if then else.
 
  • #23
Hornbein said:
Computer languages are limited in scope. They are all basically the same. It's matter of learning the niggling details and gradually picking up speed, which can take years. Learning the basics might take only a few hours.

The rules of logic are very simple. True false and or not. Program flow is if then else.
Thanks, since I guess you're right. That did not do me any good when I was struggling long ago. (As one would expect, my degree was not in Computer Science.)
 
  • #24
I know I'm late to the game but I'll contribute my $0.02 anyway as it may help someone other than the original poster. I've worked in software development/IT for 25 years and I have interviewed many candidates. The first things I look for are attitude and initiative. These are things that cannot be taught. The third thing I look for technological ability. If you slogged through a theoretical physics curriculum I believe you also have aptitude. With these things the technology used in a particular job will not matter as much.

You said you were in Ireland so a postgraduate certificate or diploma or perhaps a coding bootcamp (I don't know how big those are in Europe). This may have shell out some money to get to the point you want to be but sometimes taking the step back to go forward again is worth it.

Best of luck,

clb
 
  • Like
Likes DeBangis21

FAQ: Transitioning from Theoretical Physics to Software Dev: Steps & Difficulties

What are the necessary steps to transition from theoretical physics to software development?

The first step is to gain a basic understanding of programming languages such as Python, Java, or C++. This can be done through online courses, coding bootcamps, or self-study. Next, it's important to gain hands-on experience by working on personal projects or contributing to open-source projects. Networking and building connections in the software development community can also be helpful in finding job opportunities. Finally, it's important to continuously learn and adapt to new technologies and industry trends.

Is it difficult to transition from theoretical physics to software development?

It can be challenging to transition from theoretical physics to software development, as it involves learning a completely new set of skills and ways of thinking. However, with dedication, persistence, and a strong foundation in mathematics and problem-solving, this transition is achievable.

What are some key differences between theoretical physics and software development?

Theoretical physics involves studying and understanding the laws and principles that govern the natural world, while software development involves creating and building software applications using programming languages and tools. Theoretical physicists often work independently or in small research teams, while software developers typically work in larger teams and collaborate with other professionals such as designers, project managers, and quality assurance testers.

How can my background in theoretical physics be beneficial in a software development career?

Having a background in theoretical physics can bring a unique perspective and problem-solving skills to a software development career. The ability to think critically, logically, and analytically, as well as being comfortable with complex mathematical concepts, are all valuable skills in software development. Additionally, the ability to learn and adapt to new theories and concepts is crucial in both fields.

Are there any resources specifically designed for physicists looking to transition into software development?

Yes, there are resources available specifically for physicists looking to transition into software development. Some coding bootcamps, such as Coding for Physicists, offer programs tailored to physicists and their existing skills. Additionally, there are online communities and forums where physicists can connect with software developers and learn from their experiences. Networking events and conferences can also be great opportunities to meet professionals in the field and gain insights and advice on transitioning to software development.

Similar threads

Replies
15
Views
1K
Replies
10
Views
4K
Replies
2
Views
1K
Replies
2
Views
2K
Replies
3
Views
3K
Replies
5
Views
2K
Replies
11
Views
1K
Back
Top