getting a job as embedded engineer - Page 1
Forum section: electronics / general

author: ccesaretto
author_rank: Newbie
timestamp: August 19, 2012, 10:23:00 pm
content: Hello guys.I have been a software engineer for 10 years, first web developer and then moved to .NET C# and MFC C++.In my spare time I produce and sell on my website some USB controllers for the racing simulation market. Nothing too complicated, mainly LCD and LED displays.I would like to move to a new position, ideally writing firmware for microcontrollers or something similar.I don't consider myself an electronic/embedded engineer because I know my knowledge is limited and I have never worked in the industry.But I think I am a reasonable software developer, I can write applications that talk to my controllers trough USB, ethernet or RF links.I have a discrete knowledge of electronics but I don't feel confident enough to apply to a position as embedded engineer.Do you think there could be an interest for a profile like mine? Mainly a software developer but that understands the hardware and can work with that, with some limits?I live in Cambridge, UK.Thanks

author: mtkaalund
author_rank: Contributor
timestamp: August 19, 2012, 11:20:38 pm
content: Hey ccesaretto,First I would like to say, that I have seen people with your profile being hired to do embedded software, so it is possible.That being said if I was looking for a embedded software developer / engineer I would not hire,somebody with your profile.Mainly because of the lack of knowledge / experience in the field, remember that most embedded projects you don't have a lot ofresources to do what need to be done. But you can be lucky and the company is doing some object oriented programming on a dsp, arm etc. Then you properly there man.Good luck in your new adventure.

author: EEVblog
author_rank: Unknown
timestamp: August 19, 2012, 11:37:48 pm
content: Quote from: ccesaretto on August 19, 2012, 10:23:00 pmYes, I've seen many an embedded job that calls for someone with "knowledge of embedded microcontroller programming environments desirable."i.e. they want a programmer who is a least familiar with what microcontrollers are and how to interface to them. Not uncommon of them to have the "hardware guy" do the micro programming up to this point, but they need someone with the higher level system programming ability who can help out.Dave.

author: Zad
author_rank: Super Contributor
timestamp: August 20, 2012, 01:33:29 am
content: To be honest, I can't think of a better place to live than Cambridge for an embedded developer! Consider the number of embedded micros that are ARM cored.

author: Bored@Work
author_rank: Super Contributor
timestamp: August 20, 2012, 04:58:34 am
content: Work on your programming language skills. .NET C# and MFC C++ would not get you hired where I work. They (and Java) are the antithesis of what we want to see in embedded programming.

author: RRobot
author_rank: Regular Contributor
timestamp: August 20, 2012, 06:23:53 am
content: Quote from: Bored@Work on August 20, 2012, 04:58:34 amWhile not common, I've worked on a number of GSM modules in the past (From Nokia and Siemens) where the runtime on them was J2ME based.

author: EEMarc
author_rank: Regular Contributor
timestamp: August 20, 2012, 07:13:35 am
content: A adept embedded software engineer is worth their weight in gold. Many companies have a strong need for exactly that and can't find a good one.Just because you can code doesn't mean you will be good at embedded software development. Just because you can develop embedded software doesn't mean your good at it. Most are mediocre at best.As Bored@Work mentioned, embedded software development is fundamentally different. You probably could switch over if you are flexible in terms of the way you think about software development. If you are starting to get set in your ways as people tend to do as we get older, you will probably not be a good candidate for making such a challenging switch.At the end of the day, you never know until you try.

author: _Sin
author_rank: Regular Contributor
timestamp: August 20, 2012, 09:08:40 am
content: Plenty of work in the field, and in your area.Skills wise, I'd expect you to demonstrate a good knowledge of "to the metal" programming - i.e. assembler, poking registers, dealing with hardware issues (handling/using interrupts, synchronisation primitives, managing performance and latencies, many other things). It's not just a case of "limited memory". Debugging using extremely primitive, often ad-hoc, tools is vital. Maybe you've only got a serial-port and printf. Maybe you've only got an LED to blink. Can you fix the code? Can you be certain it's good?As others have pointed it, it's not just about programming, but about knowing exactly what how the hardware will execute your code, and what the implications and side-effects are.Having said that, I know plenty of people who are both brilliant at it, and also largely self-taught.So if you haven't done so already, get going on this kind of stuff in your spare time so that you can go into an interview with solid examples. Plenty of interesting platforms around you can hack around on now - ARM especially might be a good thing to know, so pick up a raspberry pi or similar and get stuck in.Combine a solid engineering background combined with demonstrable knowledge and skill in low-level stuff, and you'll be in.

author: ccesaretto
author_rank: Newbie
timestamp: August 21, 2012, 04:21:35 pm
content: Thank you everybody for feedbacks and suggestions.I am going to start working on my CV after the holidays

author: Galenbo
author_rank: Super Contributor
timestamp: September 24, 2012, 10:31:25 am
content: Quote from: EEMarc on August 20, 2012, 07:13:35 amThis is not true in my region, unfortunately.They only look for management/sales/ERP/project people over here...

author: rollatorwieltje
author_rank: Unknown
timestamp: September 24, 2012, 06:24:35 pm
content: It also depends on the company. I am an embedded software engineer, but at both my current and previous job I have programmed in Java, C# and used "desktop" toolkits like QT and GTK. Our embedded department basically also fills the gap between the heavy database/web applications and pure embedded software. We also do our own tools for stuff like log file analysis. Having experience with desktop toolkits is certainly not worthless.The whole term "embedded" is a bit questionable really. For some companies a Cortex A8 processor with a full blown linux installation is called embedded. I write software for sub-20MHz 16 bit processors, for me a Cortex A8 is huge