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

  • Context: Engineering 
  • Thread starter Thread starter The Head
  • Start date Start date
  • Tags Tags
    Careers Programming
Click For Summary

Discussion Overview

The discussion revolves around the importance of programming skills in the fields of physics, engineering, and high-tech careers, particularly in relation to a new Professional Science Master's program in Photonics. Participants explore whether programming is essential or merely helpful for job prospects in these areas, considering the practical skills emphasized in the program.

Discussion Character

  • Debate/contested
  • Technical explanation
  • Conceptual clarification

Main Points Raised

  • One participant expresses concern about the necessity of programming skills for a career in Photonics, noting a lack of programming in the program's curriculum.
  • Another participant argues that programming knowledge is essential for success in science and engineering, suggesting that comfort with running and modifying programs is necessary.
  • A participant inquires about the specific programming experience needed, indicating a lack of prior knowledge and seeking guidance on self-education.
  • Suggestions are made for acquiring programming skills through courses or self-teaching, with a recommendation to use online tutorials and tackle relevant problems.
  • One participant mentions that while basic programming skills are needed, some roles may only require manipulation of existing code rather than writing it from scratch.
  • Another participant counters that understanding code requires some experience in writing it, emphasizing the importance of familiarity with programming for effective manipulation of simulations.
  • An example is provided by a participant working in analog IC design, illustrating how programming can significantly enhance efficiency in simulating circuits under various conditions.

Areas of Agreement / Disagreement

Participants express differing views on the necessity of programming skills, with some asserting that basic knowledge is essential while others suggest it may not be as critical depending on the specific job role. The discussion remains unresolved regarding the extent of programming required in various engineering and physics careers.

Contextual Notes

Participants highlight varying expectations of programming skills based on different roles within engineering and physics, indicating that the necessity of programming may depend on specific job functions and contexts.

The Head
Messages
137
Reaction score
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
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.
 
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.
 
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   Reactions: 1 person
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   Reactions: 1 person
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?
 
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   Reactions: 1 person
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.
 

Similar threads

  • · Replies 18 ·
Replies
18
Views
6K
  • · Replies 23 ·
Replies
23
Views
8K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 5 ·
Replies
5
Views
4K
  • · Replies 2 ·
Replies
2
Views
3K
Replies
28
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 30 ·
2
Replies
30
Views
11K
  • · Replies 37 ·
2
Replies
37
Views
10K
  • · Replies 22 ·
Replies
22
Views
5K