1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Is programming important in engineering?

  1. Aug 26, 2013 #1
    is programming important in engineering??

    how are you guys??
    so my question is how important programming languages are in the Mechanical Engineering ??
    is being professional with programming languages very helpful and will increase job opportunities??

    how about other disciplines in Engineering??
  2. jcsd
  3. Aug 26, 2013 #2


    User Avatar
    Gold Member

    Programming is becoming important in general for many STEM career tracks so it can always only increase opportunities. Knowing a scripting language like python or matlab wouldn't hurt... learning how to interface it with something like CAD would be grand... depending on your specific interests of course.
  4. Aug 26, 2013 #3


    User Avatar
    Science Advisor
    Homework Helper
    Gold Member

    I've been in Civil structural enginering for many a year and never have had to program anything since the early stages of the computer technology....initially about o say 40 years ago, we had to due some basic fortran programming...minimal...but with today's technology, we use someone elses software packages and just provide the input data and get results..with a hand calc sanity check always, that is. I don't know any civil engineer who programs anything now....I am sure there are exceptions. If you were to interview, it would be helpful to have knowledge of certain software programs, but not necessarily programming experience. Of course, it depends on the job you are seeking....like if you wanted to improve on the software for a structural analysis program like say StadPro, you would join the appropriate company, but if you just wanted to do structural design, that would be a lot different.
  5. Aug 27, 2013 #4


    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper

    If you use a common tool like a simple spreadsheet, you are more often than not going to do rudimentary programming figuring out formulas to calculate the various cells. The more programming you know, the more sophisticated you can make your spreadsheets.

    The more skills you bring to the table, the more likely you are in being hired for a position. You may not need to develop profession software packages in your work, but you can program mundane tasks which may not be readily available in the software you use.

    Programming as a discipline is also helpful even if you don't use a computer. It gives you practice in designing a logical procedure to do a calculation or manage a project. After all, a program gathers data, analyzes it, and then spits it back out in a more useful form. Even if you don't get to design a machine part or whatever as an ME, you can always design a program to help you with some analysis or do some number-crunching.
  6. Aug 27, 2013 #5
    In my opinion, programming is essential. Sure, you won't be rewriting programs like Nastran or those finely tuned and honed analysis packages, but you will find that some tasks you'll do a lot and programming them up makes it easier for you. My first engineering job was writing programs for filament-wound carbon-fiber pressure vessels. The company I worked for wound their own material and couldn't accurately control the winding path with the software they had because it was meant for uniform mandrels. I wrote a program to interface and control the tow paths and optimize the winding pattern for the material allowables. After that, I wrote programs for bolted joints and other common engineering design scenarios, as well as postprocessing data from testing instruments. I know guys at my aerospace company that write their own Matlab scripts for aerodynamic flutter and composite analysis.

    I agree as well that it's helpful to know how to code to make programs interface with one another. Processing data from a CAD or analysis package to use in other program is a really handy thing. I've used spreadsheets to define composite layups for use in analysis packages, and I had to code up the interface myself.

    This is less of a valid point, but most engineering tools (except the expensive ones) are archaic and the user interface is terrible. Sometimes it helps to write a quick script that gives you what you want.
  7. Aug 30, 2013 #6
    Computer controlled instrumentation for running tests are going to be a lot more useful to you if you know some programming. It is also hard for me to imagine doing thorough data analysis if you are going to limit yourself to off-the-shelf statistics programs and never touch a line of code yourself. Some experience in programming will also better equip you to appreciate the kinds of bugs that you'll encounter in other people's software, and at least when source code is open to you, will give you the power to do something with that code.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook