views:

405

answers:

2

Recently, I've been trying to make the switch from games programming to embedded programming. (Out of necessity, not choice).

To me, my experience in low-level engine and graphics programming on consoles is a perfect fit for embedded systems. However, I've found IT recruiters seem to be befuddled about the commonality between the two (in fact one recruiter didn't know what 'embedded' was - I hung up). I am aware that there is a circle of hell reserved for these people, but unfortunately they seem to be unavoidable in this case.

So, can anyone who has experience in both fields give me feedback about how to re-brand my resume, and what skills to emphasize to give the best chance of getting an embedded role?

+5  A: 

Right now, I would suggest you would mention your expertise in assembly code and low level C code. Show which processors you are proficient at developing code. In your experience section of your resume, add more detail about tasks that relate to being close to the hardware and interfacing with graphics cards and doing anything related to performance optimizations. If there is any other peripheral device you've written code to interface with besides the CPU and GPU (serial port, USB, etc.), I would definitely mention that as well.

You could also mention the console OS you worked on, and make the connection such as "Console OS XYZ programming experience which is very similar to RTOS programming" or something like that. If you get an interview, that might invoke questions from your interviewer as to why this is similar to RTOS programming or embedded systems programming, so be ready. I would still mention Linux experience if you have any, because there are a lot of embedded Linux products out there that don't always require kernel level expertise.

I would also recommend you read up on one or two embedded systems programming books before an interview such as Programming in Embedded Systems in C and C++ by Michael Barr (industry guru) or Embedded Software Primer by David Simon. I wouldn't mind throwing in Jean J. Labrosse's books as well, but that might be overkill for now.

If a recruiter doesn't know what embedded software is, don't worry about it. They're not the recruiters you're looking for. You could also create a profile on LinkedIn which is much like a resume. Become a member of some of the Embedded Software/Real-Time embedded groups, and look at job postings there. A lot of recruiters who know what embedded programming is will be there for you to contact. Join some of the graphics/game programming groups too, and you might make a connection with where you want to be programming instead of necessity.

DoxaLogos
Nice one, great resources - they're in my Amazon basket now.
Justicle
+4  A: 

I made the move from games middleware to embedded programming. Here are some concepts and skills which translated directly: Fundamental knowledge of 'C'. Understanding bitfields, unions, how the machine represents signed vs unsigned values, when to use 'volatile'. Communications protocols. Experience with the lowest level of audio processing (DAC conversions). Interrupt Handlers. Working in real-time (soft and hard and knowing the difference).

Also, embedded systems tend to need non-embedded support software for testing, debugging, etc. I started on the support side doing windows communications clients, and real-time simulation, and moved over to the embedded side as I gained experience.

AShelly
Thank you, very helpful. Its nice to know someone has done it.
Justicle