Transitioning from Software Development to Engineering

Join the discussion
Ask a follow-up here, or get your own question answered by working scientists, mathematicians and engineers — people, not an autocomplete.
Real named experts · corrections over time · the nuance an AI answer skips
3 replies · 3K views
Chubigans
Messages
19
Reaction score
0
Hello.

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:
Physics news on Phys.org
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.
 
analogdesign's advice is sound. Allow me to suggest that you look into 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.
 
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.