On Wed, Feb 24, 2010 at 11:09 PM, Jason Hsu wrote: > I'd like to hear your suggestions on what else I need to learn in > embedded engineering in order to be a truly outstanding embedded > engineer. One thing I haven't seen in resumes and "help wanted" ads, but is very important in doing embedded software, is the ability to read, understand, and improve on old, existing code. Unfortunately, doing new code "from scratch" is not very common. Instead, you will be doing maintenance on old code, and converting old code to new platforms (chips going obsolete and such, so the hardware is redesigned). New projects will often start with code for an existing project and add a bunch of modifications. Except for the very smallest projects, I've found that companies prefer to use C for software instead of assembly. It's easier to find a C programmer than an assembly programmer. Also, I've moved several significant pieces of software (~60,000 lines of C code per project) from one microcontroller and support hardware to a different microcontroller and support hardware (for example, 68HC11 and "homebrew" dual slope ADC converter to ATMega2561 and real ADC converter chip, or 8051 variant to ATMega 644 -- our EE likes the Atmel chips). That's not going to happen when the code is written in assembly. Good Luck! Bill -- Psst... Hey, you... Buddy... Want a kitten? straycatblues.petfinder.org -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist