Essential Duties and Responsibilities 1. Participate in the design, implementation, and test of firmware/software systems. 2. Understand hardware and software interactions, and collaborate with Hardware Engineers. 3. Participate in the development of designs and test documentation.