Hello all!
I’d really appreciate any advice you could give me. I’ve looked at the forums and can’t find one that fits my situation.
I have a BS Degree in Electrical and Electronics Engineering and have worked in industry about 4 years now. I’ve grown less naive since graduation (amazing how working in the real world does that) and realize a little better how the world works. And I see that the interesting work to me is in the embedded systems/IoT industry. Embedded systems virtually touch every industry from smart grid to aerospace, robotics, and the defense industry.
So my dilemma. My degree was an Electrical and electronics degree so I have a solid background in Electrical power systems/machinery, analog electronics, control systems, and communications. But My computer engineering coursework was sparse other than an intro into C course, intro to embedded systems, and intro to logic design…
I’m taking an excellen online course series on coursera in embedded systems to give me more depth. But my software skills are pretty weak.
Would going back to school to get a masters in computer engineering/computer science greatly help my prospects to change industries? If so, would the CS or ECE degree be better?
Or on the other hand. Would my time and money be better spent taking a few online courses, buying some microcontrollers and doing personal projects to have a portfolio when interviewing for positions?
Thanks in advance!
CE or ECE most likely. Most CS programs aren’t going to focus on embedded systems. Talk to faculty in the department and school you are interested in about their research interests to try to find a good potential fit.
I think it’s a reasonable plan. My thought is that your engineering degree might make you a stronger candidate for a Computer Engineering masters program than a CS, and CE programs might have fewer currently unmet, prerequisite course conditions for you than a CS program.
I know EEs who have little formal CE background but who work on embedded systems. It is possible to work your way into such a role, especially at a smaller company. I work at such a company and we have EEs who have done that. The reason I led with the Masters though is that as a software engineer, I see the limitations that these folk face. There are foundational basics that they lack which means they are less productive than they might be. They don’t recognize or struggle to implement what I think are obvious algorithms for a solution. They don’t use basic revision control or documentation systems, which makes it impossible for others to maintain their work. (This is a recent pain point for me with a self-trained embedded systems guy.)
Also, small engineering firms often lack the kinds of cutting edge projects that you might want (not always but often). Larger companies, especially in the aerospace and defense sectors, are likely to have formal education requirements and are also more likely to pay a premium for the advanced degree. If you are already working at a larger company, ask to see if they will pay for part of the cost of your masters.
Agree with the comment above about unmet prerequisites. Some CS classes, like Data Structures, are ones you would probably want to take anyway, but others like Theory of Computation, not so much. An ECE masters degree should allow you to tailor your program to your IoT/embedded computing concentration.