1. PF Contest - Win "Conquering the Physics GRE" book! Click Here to Enter
    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!

Engineering MechE working with software?

  1. Aug 3, 2017 #1
    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?
  2. jcsd
  3. Aug 3, 2017 #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.
  4. Aug 3, 2017 #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.
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted