Description
As a Senior Firmware Engineer, you will develop new platforms to interact with our products at the lowest levels (I2C, SPI, CAN, UART, USB, etc.). You will work within an interdisciplinary product development team, delivering a streamlined solution for test execution and automation. Your code will ensure that we are consistently shipping the highest quality products to our customers. You will build features targeted at embedded Linux, NIX, and several RTOS platforms. You will debug and solve complex data acquisition challenges in analog and digital realms. In this role, you'll need to think creatively and come up with solutions to solve difficult testing problems and push to continuously improve our methods of automation, throughput, user interfaces, and data analytics.
Key responsibilities include: Building things that test things. Utilizing your expertise in firmware/software development to anticipate failure modes and build code for host/client verification of form, fit, function. Developing low-level firmware/software for microcontroller platforms interfacing to robots, or control algorithms for OTS Data acquisition tools. Building capability for device side validation of system-level features, utilizing SSH, gRPC, while creating or leveraging existing debug tools. Quickly debugging and troubleshooting issues that span the electrical, firmware, and software boundaries, and transferring that process to automated test and failure analysis SOPs for production line staff. Engaging in DFT/DFM reviews with electrical engineering and product firmware teams.
Required qualifications include: BS or MS in CS/CE/EE or equivalent industry experience 8+ years of relevant industry experience Strong C coding ability for embedded systems Experience integrating microcontrollers with analog and digital sensors Experience developing firmware in bare-metal, RTOS environments, and embedded Linux Solid understanding and application of coding best practices, board bring up and debugging Some familiarity with common bus protocols such as USB, SPI, I2C, CAN, RS232, RS485, Ethernet, etc. Must be a U.S. Person due to required access to U.S. export controlled information or facilities
Preferred qualifications include: 10+ years of relevant industry experience Bring up and Debug expertise for new designs, comfortable with low and high-speed interfaces Strong fundamentals for data acquisition and analysis (FFT, Bode, control loops) Experience with one or more microcontroller cores (ARM, AVR, MSP430, PIC, etc.) Experience with embedded Linux development and deployment process Debugging skills with JTAG, SWD, Oscilloscopes, and Logic analyzers Have a bias for action. If you see a problem, you want to solve and fix it Be naturally curious about the technologies and tools you use