Do Mechanical Engineers Need Programming to Survive?

by Jeff Kerns
Mar 01, 2017

Education is generally not moving quickly enough to keep up with technology. While materials and processes may not change as quickly, the machines doing the work are evolving very rapidly. Math is a good foundation to stand on for education. However, as electronics evolve, I’m seeing less ladder logic and more programming. If electronics are little black boxes filled with what might only be described as “black magic,” then certainly, code is some form of grimoire (a magic spell book).

But wait: Mechanical engineers (MEs) are not programmers. It is important for these designers to understand materials and processes, not code. However, many engineers end up on the factory floor instead of a design office. As movements like the Industrial Internet of Things (IIoT) drive product lines to become more electronic and software driven, should mechanical engineers start learning programming?

MEs often take ladder logic. As higher-level script programming starts to integrate with controllers and drives, however, it is becoming increasingly beneficial to have some type of programming understanding. While there can be a mentality opposed to change, new devices are offering higher programming languages that might give the competition a leg up.   

Educational institutions should consider working basic programming into the curriculum for MEs so they are more comfortable when they get into the field. An ME might work in a factory that runs on ladder logic, but what happens when a manager wants to integrate a robotic arm that runs off a higher programming language on one of the lines? There is a trend to future-proof production lines, but I haven’t heard much about future-proofing our employees. Ladder logic will not go away and educated engineers will always have work. But newer lines will see ladder logic take on a less important role. Automation and robotics will increase, and so will high-level programming.

Engineers don’t have to be experts, and there are plenty of resources available to exercise your electronics and programming skills. Many companies saw this trend coming and were able to get ahead of the curve by making industrial developer boards. Bosch Rexroth, DIGI, Gramalto, Texas Instruments, and more have products like Arduino or Raspberry Pi, but designed for industrial applications. Industrial boards tend to be more robust, and are able to handle greater vibrations and temperatures. In addition, to help companies understand the IIoT, many of these industrial boards come with multiple ways to connect including USB, Zigbee, Wi-Fi, and Bluetooth Low Energy. Bosch Rexroth has even developed a board with built-in sensors a designer might use.

Mechanical engineers don’t need to be programmers. Keep in mind most of the production line is mechanical. But if we’re going to be problem solvers, we need to be informed in multiple disciplines. It is hard to fix a problem if you don’t know you have one. If you don’t know about new IIoT abilities that could help your production, or are feeling intimidated by equipment that uses higher-level programming, that lack of knowledge and understanding is the first problem to fix.   

Discuss this Blog Entry 7

on Mar 2, 2017

Gee. You pose that question as if most MEs won't, don't want to or can't choose to learn "programming." I graduated in '66. We had opportunities to program both analog and digital machines. In my first job, first year, I learned Fortran. I found it useful to do data reduction and plotting. Also for doing analysis with various models of physical systems. Later, I learned Basic as well as machine language for TI computers as a necessary part of my project.
I would say that an ME should at least know what programming is and also understand a little bit about how processors and memory work with other (intelligent) devices in a system. A good engineering should provide at least some introduction to all of this.

on Mar 3, 2017

Thank you for your comment. I wasn't trying to say MEs wouldn't learn, simply encouraging continued education, and informing readers about the Industrial Arduino boards.
Most of my career was only mechanical until I got into an automation company. Then every new piece of equipment we built seemed to have a different language. It made me wish I took more programming courses in college. However, now a writer, I wish I took more writing classes too!

on Mar 2, 2017

It surprises me that you are even asking---doesn't every mechanical engineer know at least Matlab (Mathcad, etc.) programming and use it occasionally? I can't see how I could perform my own job without knowing at least 3 languages.

on Mar 2, 2017

I use Matlab's Open Source equivalent, Octave. BASH for basic file maintenance and starting to use Python. MEs need some type of language instead of relying on Excel for data representation and analysis.

Surely part of getting the BSME is some sort of program language requirement? I had to take Fortran, but never used it outside of college.

on Mar 2, 2017

Well, jeeze leweeze, guys. I think that it goes without saying that programming (like Matlab, CAD, etc.) goes hand in hand with mechanical engineering. My guess is that the author of this blog entry was talking about programming as an augmentation of mechanical engineering, using code as part of the makeup of the systems he's building/maintaining.

The teaching of that is a good subject for discussion. I come to this from the other end of the spectrum. I'm a former-electronics-guy-turned-programmer. I wish that I could get the proverbial magic shot in the arm, and instantly have the knowledge of a mechanical engineer. Since I know of no such shots, the next best thing would be to have a mechanical engineer around who liked to have cross-pollinating conversations.

I doubt that I could ever acquire enough mechanical engineering ability that way to design anything on my own (at least anything that I'd likely want to design). But I'll bet that I could give the mechanical engineer enough insight into programming to make it possible for him to design intelligently conceived software components of his mechanical systems. There are worlds of tangential, irrelevant sidetracks that he wouldn't know to avoid.

Anyway, I'm going to keep my eyes open for an intelligent, open-minded, friendly and software-curious mechanical engineer. That sounds like a good new best buddy.

on Mar 3, 2017

LOL, thanks for your comment. Yes, I was talking a little more like C++ than math CAD. I never programmed a robot or design automation equipment in any of the programs I used in college. Anytime a piece of equipment came back from testing, and it had passed, I had to try and act cool, like I knew it was going to pass. Send me an email if you ever want to work on something - collaborate, contribute, etc.

on Mar 7, 2017

Thank you so much for the quick support.

Please log in or register to post comments.