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!

Transitioning from Software Development to Engineering

  1. Mar 31, 2014 #1

    I graduated 1.5 years ago with a major in Computer Engineering. I have been programming since I was a young child so it seemed very natural for me to go into software development. Throughout my undergrad I focused on the easiest path to me (computer science classes were a breeze) while doing decently well in my engineering classes (electronics, digital systems, dynamics, mechanics of materials.) The engineering classes seemed very difficult.

    During my internships I worked at huge engineering organizations (NASA, Lockheed, my school robotics lab) but I was always doing mostly software (C++, Java/Android, and C#.NET). My current job is as a web developer at a startup where I am about as far from hardware as I can get.

    I don't see myself as much of a true "engineer", but more of an embedded software developer. I programmed the microcontroller (an Atmel XMEGA) for senior design and had a lot of fun. I loved writing low level routines for electronic devices like motor controllers, sensors and LCD screens. But I felt like I was at such a "hobbyist" level that I wasn't qualified for a real "embedded job".

    I've never had the title "embedded engineer" and all I know is how to program a few very simple microcontrollers. What do I need to learn to be a well rounded "embedded software engineer"? Would a second degree that teaches me more about hardware and mechanics be helpful? Do I need to improve my CAD skills? Or should I be compiling linux kernels and writing device drivers for that? I just don't really know WHAT skills I would need or how to get them.
    Last edited: Mar 31, 2014
  2. jcsd
  3. Mar 31, 2014 #2


    User Avatar
    Science Advisor

    Get an MS degree in EE. That's by far the easiest way to get where you want to go. Then you 1.5 years in Software will be included as your experience when you get a job out of grad school.
  4. Mar 31, 2014 #3
    analogdesign's advice is sound. Allow me to suggest that you look in to taking the Fundamentals of Engineering (FE) test and then seek a PE in software engineering.

    There are a whole lot of embedded critical safety applications and they'll go begging for people who are willing to put their name on their work. I speak as one who uses them.
  5. Apr 1, 2014 #4


    User Avatar
    Gold Member

    I agree with analog.
    I know it seems like common sense, but make sure the EE program you look at has good computer engineering classes. If the school has separate EE and CE programs, I recommend going to computer engineering.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook