Senior physics major to software engineer?

In summary, if you want to learn to program it is a good idea to start with something that you find interesting and useful and then learn how to code it from start to finish.
  • #1
Jeeb
1
0
Hello everyone!

I have recently decided that I want to pursue a career in software engineering, but the problem is that I haven’t taken many courses in it. I’ll briefly describe where I’m at now:

I’m a senior physics major, and I had originally planned on doing some sort of medical physics or biophysics career. After participating in an REU in biophysics, I decided that I research in general wasn't for me, though I still have some interest in medical applications. Upon more soul searching I realized that I enjoyed programming much more than anything I had previously tried; in particular, I enjoy the creativity and analytical skills that are involved in programming.

So far I’ve only taken one programming class which taught FORTRAN and emphasized its use in solving scientific problems. I’ve taken classes in introductory biology, organic chemistry, the standard physics and math sequences, and the advanced physics classes (e.g. quantum 2, E&M2, modern optics), and I did another REU in photonics/optoelectronics in a previous year. This semester I am finishing up my physics requirements and taking a C/C++ class in the CSE department.

I want to be eligible for jobs in software engineering by the time I graduate in the spring, so my question to you all is what sort of steps should I take to prepare myself for programming in general? For example: what classes can I take in the spring semester that would be most useful, would CSE research be a good idea, are there any books you would recommend, etc.?

Thank you for your time!
 
Last edited:
Physics news on Phys.org
  • #2
Have you looked into computational physics?
 
  • #3
Or seen what your school requires for a CS minor?

I want to be eligible for jobs in software engineering by the time I graduate in the spring, so my question to you all is what sort of steps should I take to prepare myself for programming in general?
Take software engineering and get some experience working on really big/complex coding projects. If you've got any skills to offer (coding/testing/writing), volunteer for an open source project. You need to build up experience coding for most every job, even the ones looking for new grads.
 
  • #4
I agree with @story645 on working of complex coding. Getting an internship was helpful to me, but there is only so far that it can take you. I find most large companies would rather hire outside of their internship pool. A lot of people think that the majority of these jobs are being sent offshore, however, that is not entirely true. There is still a great demand for onshore software engineer jobs, if you know where to look. Hope this helps, good luck.
-J
 
  • #5
JNanotech said:
I agree with @story645 on working of complex coding. Getting an internship was helpful to me, but there is only so far that it can take you. I find most large companies would rather hire outside of their internship pool. A lot of people think that the majority of these jobs are being sent offshore, however, that is not entirely true. There is still a great demand for onshore software engineer jobs, if you know where to look. Hope this helps, good luck.
-J

As a software engineer for over 20 years I can tell you a few things. Not in order and forgive me for the hyperbole.

1. I would absolutely suggest *not* getting hired by a large company. Larger companies more often than not simply do not require you to wear enough hats. Further small companies can only survive when there are truly fire-breathing dragons present. Such dragons are critical to have around for your own growth. There is far more to this than those two points, and quite frankly I almost dare not enter it here because this subject by itself is worth 20 or more dedicated threads.

2. Object Oriented technology is an absolute must these days. It is a paradigm that I and most once procedural programmers fight and eventually cave in happily to. Huge caution here. C++ is not the best way to learn this. IF for some reason you find C++ confusing you are certainly not alone. It is a language fraught with ways of shooting yourself in the foot. Consider C# or Java if you become beleaguered. Sigh. Another 20+ threads worth.

3. To learn how to program I would suggest this. Pick an application that you would find useful *and* interesting to you. One that you wish existed. Design and code the thing from start to finish, including (believe it or not) documentation + source code control + delivery mechanisms. Make it as much a real product as you can. You will be amazed at the breadth of programing and other obstacles you will bump into that everyone else not doing this will ever be exposed to.

4. I once would have suggested becoming a frequent visitor to the following USENET newsgroups:

comp.programming
comp.object
comp.lang.{some language}.{some group} <---depending upon your current language

...but sadly USENET is under siege from high volume spamming unless you use a service with an antispam filter. Look around for various computing forums suiting your needs.
 

1. How can a senior physics major transition to a software engineering career?

There are several ways a senior physics major can make the transition to a career in software engineering. One option is to pursue a graduate degree in computer science or a related field. Another option is to take online courses or participate in coding bootcamps to gain the necessary skills and knowledge. Additionally, networking and building a strong portfolio of software projects can also help in securing a job as a software engineer.

2. What skills do physics majors possess that are transferable to a software engineering role?

Physics majors often possess strong analytical and problem-solving skills, as well as a strong understanding of mathematical concepts. These skills are highly transferable to software engineering, as the field requires individuals to break down complex problems and develop efficient solutions. Physics majors may also have experience with coding and data analysis, which are valuable skills in software engineering.

3. Will a senior physics major have to start as an entry-level software engineer?

It is possible for a senior physics major to start as an entry-level software engineer, especially if they do not have a background in computer science or software development. However, with the right skills and experience, it is also possible for a physics major to land a mid-level or even senior software engineering role. This may require additional education or experience, but it is not uncommon for individuals to switch careers and enter at a higher level.

4. Are there any specific programming languages or skills that a senior physics major should focus on?

There are several programming languages and skills that can be beneficial for a senior physics major looking to become a software engineer. Some commonly used languages in software engineering include Java, Python, and C++, so having a basic understanding of these languages can be helpful. Additionally, skills in data analysis and machine learning can also be valuable in certain software engineering roles.

5. Are there any challenges that a senior physics major may face in transitioning to software engineering?

One potential challenge for a senior physics major transitioning to software engineering is the learning curve that comes with new programming languages and technologies. It may also require time and effort to build a strong portfolio and network in the field. Additionally, competition for software engineering roles can be high, so it is important to have a strong understanding of the industry and the skills and experience needed to stand out as a candidate.

Similar threads

  • STEM Career Guidance
Replies
30
Views
5K
  • STEM Career Guidance
Replies
18
Views
2K
  • STEM Career Guidance
Replies
5
Views
825
  • STEM Career Guidance
Replies
13
Views
2K
  • STEM Career Guidance
Replies
10
Views
721
Replies
8
Views
2K
Replies
17
Views
3K
  • STEM Career Guidance
Replies
2
Views
1K
Replies
7
Views
1K
Replies
131
Views
11K
Back
Top