Design and implement software of embedded devices and systems from requirements to production and commercial deployment Design, develop, code, test and debug system software Review code and design Analyze and enhance efficiency, stability and scalability of system resources Integrate and validate new product designs Support software QA and optimize I/O performance Provide post production support Interface with hardware design and development Assess third party and open source software