Develop, debug, test, deploy and support software/firmware across system levels (Firmware to Application)
Write, debug, maintain, and test software following agreed development processes (Agile, Scrum) and product lifecycle deliverables
Provide technical leadership to the compute team and lead technical discussions with customers and vendors
Develop and review Linux device drivers and diagnostic firmware for manufacturing and extended testing locations
Develop firmware update tools for BIOS, EEPROM, CPLD, FPGA and other programmable components
Release documentation according to procedures and design specifications and manage software changes via revision control and issue trackers
Work in cross-functional teams with designers, customers, manufacturing engineering and project leadership to ensure robust, high-quality product development
Enhance designs with feedback from manufacturing, test, supply chain, reliability, industrial design and simulations
Participate in technical discussions and review team members' artifacts and code
May require occasional travel
Requirements
12 to 18 years of experience
Bachelor degree or consideration of an equivalent combination of education and experience
Strong programming skills: Proficiency in C, C++, P4 and other low-level programming languages
Experience developing and reviewing Linux device drivers (I2C, SPI, LPC, PCIE etc.)
Experience developing diagnostic firmware for manufacturing tests and extended testing