Importance of Programming in Physics/High-Tech/Engineering Careers?

In summary, the conversation discusses the importance of programming skills in the field of Photonics and how it can enhance one's career opportunities. It is essential to have a basic understanding of programming and be comfortable with writing and modifying programs. Self-teaching through online tutorials is recommended as a way to acquire these skills. While one may not need to be an expert in coding, it is important to be able to understand and manipulate code in order to run simulations effectively. Additionally, programming can also be useful in other areas of engineering and science, such as data analysis.
  • #1
The Head
144
2
Hello! I have a question regarding the field of Photonics. The school I am attending is launching a brand new program, a Professional Science Master's in the area of Photonics. The program is being run by the physics department. Ideally what the program is trying to do is to give students more practical skills (compared to a traditional Master's program that is more theoretical), and therefore make them more employable. From what I've heard from the guy running the program, it gives students the ability to go into the field and get a pretty decent job with a high-tech industry company, without having to earn a Ph.D.

Now my question really has more to do with computer programming. I am certainly interested in physics, but not really too much in programming (nor do I know anything about it). for jobs that might be available to me with such a degree, would you consider being comfortable with programming as a skill that is either essential, or at least vastly helpful? I have heard from some people that in engineering and tech labs that a lot of what is done is running simulations, and in order to do that, you need to program the simulations (and thus spend much of your day doing that).

From what I can tell, there doesn't seem to be much programming in the actual classes that are taken in this programs. A friend mentioned to me, however, that often it is just assumed that someone going through engineering or physics (and making it a career) will have just picked up programming somewhere along the way.

So I'm just looking for people that have more knowledge than I to give me some perspective on this. I'll include below the link to the program description if looking at that will elucidate more clearly any details about the kind of program I am talking about:

http://www.qc.cuny.edu/Academics/Degrees/DMNS/Physics/Photonics/Pages/Default.aspx

Thank you!
 
Physics news on Phys.org
  • #2
I think, if you want to have a successful career in science or engineering, that knowledge of programming is not just desirable, but essential. You don't need to be a programming "guru", but you need to be comfortable running programs, and making modifications to them as needed. You also need to be comfortable writing simple programs to analyze data, collect data, plot data, etc. As you say, it is just assumed that you will pick up these skills along the way. Even writing a paper is usually done using Latex, which is really writing a program to write the paper.
 
  • #3
Thanks for your reply, phyzguy.

And if that is the case, what kind of programming experience do I need to acquire? I have received absolutely none (and it doesn't seem like any will be coming either), and have pretty much no clue what sort of self-education to build.
 
  • #4
Well, there are really two ways. One, you could take a course or courses to boost your knowledge. Two, you could self-teach, and if you do this, I recommend using some of the many online tutorials. This Python tutorial is one place you could start, but there are many others. Once you have acquired some basic knowledge, I would recommend picking a problem that interests you and trying to write a program to solve it. Solving a differential equation numerically is one possibility. Since you are interested in photonics, you could try solving some of the non-linear equations that arise in non-linear optics, for example.
 
  • Like
Likes 1 person
  • #5
I will second phyzguy. A basic knowledge of programming is essential for any scientist or engineer. You do not need to be an expert, but you should be able solve simple problems and understand code. There are a ton of good tutorials, classes, and books available on this subject. Pick one (or more) and follow it through.
 
  • Like
Likes 1 person
  • #6
Thank you very much for both of your replies. One last thing about this topic. In the past few days, I was able to get in touch with someone working in the management side of engineering, though in the past he had been more in the technical side of it (in the early 90's, which of course was a long time ago and things have changed).

Anyway, what I am getting at was that he thought that while you might need some basic skill at programming, you don't actually write the codes for your simulations, but merely manipulate a few things here and there. I suppose when I had been hearing in the past that you need to know how to program I figured it meant "you need to know how to write code." Could I get your imput here on this?
 
  • #7
I agree you don't need to be an expert at coding. However, in order to "manipulate a few things here and there", you need to be able to understand the code you are running, and you won't be able to understand the code unless you have some experience writing code. If you don't believe me, try looking at some code and see if it makes sense. Imagine trying to edit a newspaper article if you had never written anything.
 
  • Like
Likes 1 person
  • #8
There are many situations in Engineering when someone who doesn't program for a living needs to program to help them in their job.

For example, I'm an analog IC designer and you typically you have to simulate the same circuit under a wide variety of conditions (such as power supply voltage, temperate, slow or fast devices, high or low capacitance, etc etc) and these conditions vary based on the application. If you know Python or TCL or something you can write a simple program to continuously simulate your circuit while changing various simulation conditions and then it can collect your data for you! Saves a TON of time.

One other thing, you do often write your own simulation codes. If nothing else you typically have to write the MATLAB or whatever code that analyzes your simulation results.
 

What is the importance of programming in physics careers?

Programming is essential in physics as it enables physicists to perform complex calculations, analyze data, and create simulations to model physical systems. It also allows for the development of specialized software and tools for data analysis and visualization, making it an indispensable tool in modern physics research.

How does programming contribute to high-tech industries?

Programming is at the core of high-tech industries, such as software development, robotics, and artificial intelligence. These industries rely on programming to design, build, and maintain cutting-edge technologies that drive innovation and progress in various fields.

In what ways does programming benefit engineering careers?

Programming is a crucial skill for engineers as it allows them to design and develop software for various engineering applications. It also enables engineers to automate tasks, perform simulations, and analyze data, making their work more efficient and accurate.

How can programming skills enhance job prospects in these fields?

Having programming skills can significantly enhance job prospects in physics, high-tech, and engineering careers. Many employers look for candidates with both technical and programming skills, as it demonstrates an ability to think critically and solve complex problems, making you a valuable asset to any organization.

What are some popular programming languages used in these fields?

Some popular programming languages used in physics, high-tech, and engineering careers include Python, C++, Java, and MATLAB. However, the specific language may vary depending on the industry or application. It is essential to stay updated with the latest programming languages and tools to stay competitive in these fields.

Similar threads

  • STEM Career Guidance
Replies
22
Views
2K
  • STEM Career Guidance
Replies
5
Views
720
  • STEM Career Guidance
Replies
30
Views
5K
  • STEM Career Guidance
2
Replies
37
Views
5K
  • STEM Career Guidance
Replies
2
Views
1K
  • STEM Career Guidance
Replies
7
Views
370
  • STEM Career Guidance
Replies
3
Views
2K
Replies
8
Views
2K
  • STEM Career Guidance
Replies
10
Views
644
  • STEM Career Guidance
Replies
18
Views
2K
Back
Top