<p>I want to be a firmware engineer. I am about to graduate with a software engineering degree with a minor in electrical engineering. I have the ability to do my masters in computer/electrical engineering straight after graduation. </p>
<p>My question is, since i want to be a firmware engineer is experience better after graduation or should i go for the masters degree which takes 2 years. If i do need experience first, what would be a good job to start with considering my background and that i have no experience. </p>
<p>If someone here is a has experience in this field any insight will be useful. </p>
<p>You dont need a masters degree for firmware engineering.
Alternatively it may be a good idea if you can’t find a decent job.</p>
<p>For firmware engineering I would look at a company like HP, IBM, Dell, and maybe Intel.
Having worked in the area briefly, I have to say it was a big let-down for me.
They have their own libraries and everything is abstracted so most firmware engineers STILL are totally detached from the hardware, so you learn nothing about that side. And you have so many arbitrary limitations in your code (language, performance, etc) that you can’t write decent code. I consider it a dead-end career. A higher-level software developer would be maintaining and learning new skills that have significant demand in the course of their career, while you just learn a very small niche.</p>
<p>Only a few of the people in the area with 20+ years experience, it seems are writing the drivers and whatnot.</p>
<p>“How would someone make decent code if they dont know nothing about the hardware they are designing the code for?”</p>
<p>Some firmware engineers need to understand hardware and write device drivers. In my experience, albeit at a big company (IBM), most of the engineers worked on platform-independent code optimizing stupid things in the startup process that were nerve-wrecking and impossible to debug. The people who actually wrote the drivers and things like that, they were the gurus who were there for 20+ years. And even most of them were bug-hunting.</p>
<p>"fatpig554, is this your personal experience or are most people in agreement about it being a dead -end career. "</p>
<p>its my personal experience. Ok, maybe “dead-end career” is an exaggeration. But I believe you will find more career growth in an area of software development that is higher in demand. The skills you acquire at a software job in a company like Microsoft, Google, Yahoo, they will be more easily transferable to your next job. But if you spend 20 years writing server startup code, you’re STUCK.</p>
<p>Ok, and as an aside, all things i’ve said aside: I would rather get stuck in a dead-end career writing firmware, than writing a web-application to link your twitter and facebook account. That’s just me. Ultimately you should do what you love (but be open to other options). Sorry for being so cynical!</p>