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?