How can a junior physics major prepare for software jobs

In summary: Then again, there's no harm in just sticking with the courses and internships you've already started.Hi StayGuy2000, thanks for answering. I haven't taken any computer science classes. The only programming I know are the bits that I had to pick up for routine data analysis in my physics labs. I've also never done an internship or anything else that would be considered valuable experience apart from perhaps learning how to write some really basic games on python.Then I would suggest taking computer science courses as electives (if need be, even taking an extra year in school to earn the equivalent of a minor), as well as spend time learning more programming languages (far beyond the routine data analysis in your physics labs). One of
  • #1
John004
37
0
I’m currently a third year physics major who has realized that grad school probably isn’t the right path, as I’ve become anxious to finish school and start doing something more productive. I want to know what I should be doing now in order to be a good candidate for software engineering jobs after the bachelors degree.
 
Physics news on Phys.org
  • #2
John004, in order to best answer your question above, we need some more background information. Have you taken many computer science courses? What is your background with respect to programming? Do you have any experience in software development or programming in the work place (say, as part of an internship or summer job)?

Depending on the answers to the questions above, I would focus on (a) taking more CS courses if possible, (b) build on your existing knowledge of programming on your own, say by taking courses through Coursera or edX (including posting any code in an open-source forum such as Github), and (c) pursue an internship in the following summer in a software engineering or software development role.

I would also investigate any conferences related to software development/engineering and network with people working in such roles. Others can chime in any additional advice.
 
  • #3
StatGuy2000 said:
John004, in order to best answer your question above, we need some more background information. Have you taken many computer science courses? What is your background with respect to programming? Do you have any experience in software development or programming in the work place (say, as part of an internship or summer job)?

Depending on the answers to the questions above, I would focus on (a) taking more CS courses if possible, (b) build on your existing knowledge of programming on your own, say by taking courses through Coursera or edX (including posting any code in an open-source forum such as Github), and (c) pursue an internship in the following summer in a software engineering or software development role.

I would also investigate any conferences related to software development/engineering and network with people working in such roles. Others can chime in any additional advice.
Hi StayGuy2000, thanks for answering. I haven't taken any computer science classes. The only programming I know are the bits that I had to pick up for routine data analysis in my physics labs. I've also never done an internship or anything else that would be considered valuable experience apart from perhaps learning how to write some really basic games on python.
 
  • #4
Statguy gave all the good advice but another route is to work in an experimental or computational lab, since that typically involves a lot of programming.

There is also a big open source movement in computational biology, so computational biophysicists often write codes that are put on github; good for your resume.
 
  • #5
John004 said:
Hi StayGuy2000, thanks for answering. I haven't taken any computer science classes. The only programming I know are the bits that I had to pick up for routine data analysis in my physics labs. I've also never done an internship or anything else that would be considered valuable experience apart from perhaps learning how to write some really basic games on python.

Then I would suggest taking computer science courses as electives (if need be, even taking an extra year in school to earn the equivalent of a minor), as well as spend time learning more programming languages (far beyond the routine data analysis in your physics labs). One of the most important things for working in software engineering is knowledge of algorithm design, & that's something that a CS or software engineering graduate will (or should) have a solid background in, so you'll need to gain at least some familiarity in that area.

In addition, you said you've never done an internship -- apply for an internship! I seriously do not understand why more students don't bother doing this as part of their education (it should be a requirement for graduation). If you start to prep your resume and check job from now until March, you should have a decent chance of landing an internship for the following summer.

Another option is to pursue a REU in a physics lab focusing on computation or experimentation (as suggested by Crass_Oscillator), where you could hone in on your programming skills.
 
  • Like
Likes Jaeusm

1. How important is computer programming for a physics major to secure a software job?

Computer programming is becoming an essential skill for all fields of science, including physics. Many software jobs require knowledge of programming languages such as Python, Java, or C++, so it is important for a physics major to have a solid foundation in programming in order to be competitive in the job market.

2. What specific programming languages should a physics major focus on to prepare for software jobs?

The most commonly used programming languages in software jobs are Python, Java, and C++. However, other languages such as R, MATLAB, and Fortran are also commonly used in physics-related software development. It is recommended for a physics major to have a basic understanding of multiple languages, but to focus on mastering one or two languages in particular.

3. Are there any specific software or tools that a physics major should be familiar with?

While it is important to have a general understanding of various software and tools, some that are commonly used in physics-related software jobs include version control systems like Git, data analysis tools like Pandas and Numpy, and simulation software like MATLAB or COMSOL. It is beneficial for a junior physics major to start becoming familiar with these tools and software early on.

4. How can a physics major gain practical experience in software development?

One way to gain practical experience in software development is to participate in internships or research projects that involve coding. Another option is to work on personal projects or contribute to open-source projects. It is also helpful to take courses or attend workshops related to software development.

5. How can a physics major showcase their software skills to potential employers?

A great way to showcase software skills is to create a strong portfolio that includes projects, code samples, and any relevant coursework. It is also important to highlight any internships, research projects, or extracurricular activities that involve software development. Networking and attending job fairs can also provide opportunities to showcase skills and make connections with potential employers.

Similar threads

  • STEM Career Guidance
Replies
30
Views
5K
  • STEM Career Guidance
Replies
18
Views
2K
  • STEM Career Guidance
Replies
11
Views
2K
  • STEM Career Guidance
Replies
2
Views
1K
  • STEM Career Guidance
Replies
20
Views
488
  • STEM Career Guidance
Replies
4
Views
1K
Replies
3
Views
121
  • STEM Career Guidance
Replies
1
Views
2K
Replies
131
Views
11K
Replies
13
Views
2K
Back
Top