Design and develop embedded software (firmware) for embedded systems consisting of: Analog, Digital, and RF circuits for a wide variety of applications.
Investigate, debug, and modify existing code.
Develop and troubleshoot Linux user-space applications.
Work with existing development libraries or creating them as needed.
Develop standard and custom communication protocols for new systems.
Document embedded software design and implementation.
Contribute to routine software design reviews,code reviews, and software testing, as well as the software release process.
Participate in verification and validation testing, work closely with validation teams to develop test ...