Applied Physics BS is good for programming jobs?

Click For Summary
SUMMARY

An Applied Physics BS with a strong foundation in programming, including C, Arduino, and assembly, is viable for software development roles, particularly in scientific programming. Candidates should supplement their education with computer science courses such as Object-Oriented Programming in Java 8, algorithms analysis, database theory, and multicore programming with OpenCL. While the lack of a formal IT degree may pose challenges, the advanced mathematics and physics knowledge can be leveraged as an advantage in specific job markets. Tailoring resumes to highlight relevant skills and experiences is crucial for standing out to employers.

PREREQUISITES
  • Proficiency in C programming and Arduino
  • Understanding of Object-Oriented Programming (OOP) in Java 8
  • Familiarity with algorithms analysis and design
  • Knowledge of database theory and SQL
NEXT STEPS
  • Learn MATLAB for scientific computing applications
  • Explore numerical Python, focusing on the Anaconda distribution
  • Study Julia for its potential in numerical computing
  • Gain practical experience through projects in C/C++ and Fortran
USEFUL FOR

Individuals with an Applied Physics background, software developers transitioning into scientific programming, and anyone interested in enhancing their programming skills for software development roles.

Jo01
Messages
7
Reaction score
0
An Applied physics BS in Italy (a lot of C programming, analog and digital electronics with arduino and assembly and digital design) plus as many CS exams as i can (i'm thinking about OOP in Java 8, algorithms analisys and design, database theory and SQL and Multicore programming in Java and OpenCL) is employable for software development company as a CS BS?
In this way, considering the higher level of math and physics (a lot more than in a CS degree) we must learn the disadvantage of not having an IT degree can be turned in an advantage opening more job positions?
(I.e. I'm thinking about scientific programming)
Thank you!
 
Physics news on Phys.org
So you have an Applied Physics BS and ou have a lot of programming classes as well.

The only problem you face is whether a company will choose you over a CS graduate and that's hard to say.

They may view you as over qualified with all the extra math. I would mention the math and physics you took on your resume or job application but only in a supporting way and instead focus on the CS courses that you think are directly applicable to the job.

Again this all depends on the job, basically you must tailor your resume to match the job using the courses and experience you have as the bait to entice the employer to bring you in for an interview.

If the job focused on using programming, Arduino and some physics related to optics then that is what you'd stress first followed by the other stuff in order of relevance to the job.

Companies will have an assumption that a CS BS can do the following things and you must convince them that you have the same skills.
 
  • Like
Likes   Reactions: QuantumQuest
Jo01 said:
An Applied physics BS in Italy (a lot of C programming, analog and digital electronics with arduino and assembly and digital design) plus as many CS exams as i can (i'm thinking about OOP in Java 8, algorithms analisys and design, database theory and SQL and Multicore programming in Java and OpenCL) is employable for software development company as a CS BS?
In this way, considering the higher level of math and physics (a lot more than in a CS degree) we must learn the disadvantage of not having an IT degree can be turned in an advantage opening more job positions?
(I.e. I'm thinking about scientific programming)
Thank you!

I'd stress out the point that the whole thing depends on the sort of job - into the IT industry in general, that you apply for. The skills you mention are very good, but they're not the perfect match in order to be employable by a software development company, in general. Their demands are more relevant to a CS degree. This entails also extensive educated knowledge of algorithms, data structures, many programming languages, design and implementation of software tools (compilers included) and in many cases web development skills, as well as other things, you find on a typical CS curriculum.

Now if you restrict that to scientific computing, then I think that your skills are more than enough. I don't say in any way that you can't get a software development job, but you'll definitely need more skills.

Also, the factor of working experience must not be overlooked. In software industry this is an absolute must. Extensive knowledge has to be backed up by at least some projects done, with a fair degree of complexity and other kinds of working experience on the subject are always considered plus.
 
For scientific programming I'd like to add that you should be familiar with MATLAB, numerical Python, Julia, R, C/C++ and Fortran or some subset thereof as these frequently popup in modeling and simulation contexts.

Often the work environment will be locked into MATLAB + FORTRAN + C/C++ or be more progressive and using numerical Python, R and possibly Julia.

A good numerical Python distribution (ie has numpy and sympy integrated in) is the Anaconda distribution with Julia. Some instructions for getting it on your computer:

http://lectures.quantecon.org/jl/getting_started.html

I like Julia and think its the future of numerical computing. It has the hooks to integrate with the other languages well and its modeled on MATLAB allowing a MATLAB shop to consider switching to an open source environment provided theyy aren't too invested in the MATLAB toolkits.
 
  • Like
Likes   Reactions: QuantumQuest
QuantumQuest said:
Their demands are more relevant to a CS degree. This entails also extensive educated knowledge of algorithms, data structures, many programming languages, design and implementation of software tools (compilers included) and in many cases web development skills, as well as other things, you find on a typical CS curriculum.
Maybe you're talking about Software engineers.
Here in CS classes you don't learn "many programming languages" but just Python (first was C) and Java to learn OOP paradigm, then some C and some functional concept.
All the rest is THEORY, algebra, probability, computational complexity, combinatorics, algorithmics, logic, logic design...
They repeat often that "Computer science is not programming, programming is only a tool" ;)
 
Thank you all for the answers! :smile:
jedishrfu said:
I like Julia and think its the future of numerical computing.
I wish to learn it asap, I'm very courious of its potential.
Fortunately kind of every post by software companies here say "CS, Mathematic, Physics or other quantitative fields degree required" so i can hope to study and begin to work in the meantime... :wink:
 
One other resource to consider the company youre interested in. Perhaps you could contact them to see what they are looking for. Preferably talk to a hiring manager and not the HR people who won't really know the job specifics.
 
Last edited:
Jo01 said:
Maybe you're talking about Software engineers.

I don't talk only about software engineers.

Jo01 said:
Here in CS classes you don't learn "many programming languages" but just Python (first was C) and Java to learn OOP paradigm, then some C and some functional concept.
All the rest is THEORY, algebra, probability, computational complexity, combinatorics, algorithmics, logic, logic design...

I don't know what holds in your country, but usually there is some separation - this holds at least to the west cultures I know of. After some point, there is a branch to Theoretical CS, Applied CS and the mostly relevant to engineering things (signals, digital systems etc.) or some sort of this anyway. There are surely topics in the first years about all these at the introductory level, but there is specialization later.

Jo01 said:
They repeat often that "Computer science is not programming, programming is only a tool"

True that. Computer Science is all about algorithms. But this cannot devalue the importance of programming in CS.
 

Similar threads

  • · Replies 15 ·
Replies
15
Views
3K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 18 ·
Replies
18
Views
6K
  • · Replies 92 ·
4
Replies
92
Views
22K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 18 ·
Replies
18
Views
4K
  • · Replies 21 ·
Replies
21
Views
4K
  • · Replies 108 ·
4
Replies
108
Views
19K
  • · Replies 11 ·
Replies
11
Views
3K
  • · Replies 17 ·
Replies
17
Views
5K