Search code examples
embeddedlow-level

What Skill set should a low level programmer possess?


I am an embedded SW Engineer, with less than 3 yrs of experience. I aim to "sharpen the saw" continuously. I was wondering if there was anything specific to low level programming that C/C++ coders should be proficient with.

What comes to my mind is familiarity with the hardware's architecture and instruction set. Knowing how to fiddle with bits is also important, resource management and performance have been part of my job, is there anything else?

EDIT: I work with an in-house customized RTOS, not embedded Linux.


Solution

  • Specific concepts like,

    1. Endianness (this link is to an old but good linuxjournal article)
    2. Effective use of multithreading architectures (the Embedded site is good in general)
    3. Debugging embedded and multithreaded systems
    4. Understand, Learn and Follow good programming techniques (the link is very old and the point very generic and subjective, but think about it)
    5. Other things (this IBM page on embedded linux sums up most of the other points I want to make)
    6. One more thing -- never underestimate testing! or, planning test cases!!

    Use the reference links I give as concepts,
    please followup further for deeper knowledge.