Is a Career in Software an Option for Mechanical Engineers?

In summary: Am I right in thinking this?I think that you're right in thinking that data structures and algorithms are important, and you can definitely learn them on your own if you want to. However, I think that having a background in CS gives you a leg up in terms of being able to solve complex problems. Having a background in CS also teaches you how to think about problems in a systematic way, and how to solve them.
  • #1
ramzerimar
178
23
I'm at the third year of my MechE course, and in those three years I've developed a keen interest in software/coding. I still like my degree, things like fluid dynamics/aerodynamics fascinate me, but more and more I see myself working with software and coding. One of the things that I like about coding is how practical it is to learn and start building things with it. You just need a computer, time and lots of patience!

I'm using my free time to learn coding and CS related stuff (some data structures, new languages) and building projects (I want to start contributing to open source projects soon). Also, I'm working with one of the professors at the mechanical engineering department whose research is focused on the boundary element method, and I'm implementing some of his codes using open source tools and Python.

For a couple of reasons, I do not intend to switch to a CS degree. And I don't feel I need to. I would like to get my BS in ME and work as an engineer to decide whether or not I want to keep working on the field (preferably with something related to simulations like FEM or CFD). But I want to know what would be the prospects of switching to a software career if I ever decide that MechE is not what I want to do for my entire life, after all. Coding careers seems to be more "open" to people that don't have a related degree, but have lots of experience. I would like to hear some opinions. Do you know someone that ever did something like this? Would it be a smart move?
 
Physics news on Phys.org
  • #2
Absolutely a good move, if that's what you're interested in! I received an MSEE in electromagnetics almost 30 years ago, and have used it exactly zilch since then. My first job out of school was supposed to be in electromagnetic modelling and simulation, until two weeks after I was hired the program leader quit and moved on to "other interests". Our group fell apart, and since I had just moved across the country and had no contacts to fall back on, it was impossible for me to just bail out. I got shipped off to a general software development group in the same organization, and I've never looked back. I've done software development in many different fields over the years, from CNC machine tools, to automotive diagnostics, to electro-optics. Now, I do both hardware design and software development in underwater acoustics, and have totally loved my career.

The three best software engineers I've known had degrees in music, biology and math. Being good at software is more about organizational and planning skills and being able to see both the large picture and mind the details at the same time. Those traits do not depend on a degree in a specific field, but do depend on a certain kind of mental discipline and mind-set. There was a post here on PF a while back asking how software engineers keep it all straight. Well, to that person I think I'd say maybe software isn't the right field for you. Yes some of the organization skills and the various languages can be taught, but a large part of it is just how one's mind works.

Whatever the case, don't limit yourself to what your degree is in. If the opportunity comes along to do something that interests you, and you can live with the compensation (or lack thereof), then got for it! You never know where it might lead.
Bill
 
  • Like
Likes ramzerimar
  • #3
Thanks for the reply! My major concern is facing barriers because my degree is not related to computer science.

As I said, I'm not 100% that I will make the switch. I'm going to finish my degree in MechE, get my feet wet and see what are the prospects. But I like to have options, and I want to be prepared to make a major shift in my career if I want to. I've seen biologists and physicists working with code, becoming web developers or big data analysts (big data is a trending field these days).

I've seen some CS people saying that you won't be as good a programmer if you don't come from a CS background, because you'll be lacking courses on topics like algorithms and data structures, and that CS provides you a way of thinking that helps solve complex problems. I don't doubt that, but wouldn't any other engineering degree offer you this kind of "thinking"? And I think that data structures and algorithms are the kind of thing that I could learn on my own.
 

What is the role of a mechanical engineer in working with software?

A mechanical engineer working with software is responsible for designing, analyzing, and optimizing mechanical systems using computer-aided design (CAD) software. They also use computer-aided engineering (CAE) software to simulate and test the performance of these systems before they are built.

What programming languages do mechanical engineers need to know?

Mechanical engineers should have a basic understanding of programming concepts and be familiar with coding languages such as MATLAB, Python, and C++. These languages are commonly used in engineering applications and can help with data analysis, modeling, and simulation.

How does software impact the design process for mechanical engineers?

Software has greatly enhanced the design process for mechanical engineers by allowing for more precise and complex designs to be created. It also allows for faster prototyping and iteration, reducing the time and cost of the design process.

What skills are important for a mechanical engineer to have in order to work with software?

In addition to a strong foundation in mechanical engineering principles, a mechanical engineer working with software should have a solid understanding of mathematics, data analysis, and programming. They should also be able to think critically and creatively, and have strong problem-solving skills.

What are some common software tools used by mechanical engineers?

Some common software tools used by mechanical engineers include CAD software such as SolidWorks, ANSYS for simulation and analysis, and COMSOL for multiphysics simulations. Other tools like MATLAB and Python are also commonly used for data analysis and modeling.

Similar threads

  • STEM Career Guidance
Replies
6
Views
988
  • STEM Career Guidance
Replies
2
Views
1K
Replies
3
Views
1K
  • STEM Career Guidance
Replies
5
Views
684
  • STEM Career Guidance
Replies
30
Views
5K
  • STEM Career Guidance
Replies
2
Views
1K
  • STEM Career Guidance
Replies
9
Views
2K
Replies
23
Views
3K
Replies
3
Views
526
  • STEM Career Guidance
Replies
19
Views
3K
Back
Top