Device- Senior/Staff Software Engineer (Firmware Engineer)
Apply NowRequired Qualifications: We are seeking a Firmware/Embedded Linux engineer with:
- 8 or more years of experience writing software for a hardware device (on a microcontroller, and/or in Linux, etc) in C++ or C
- Strong fundamentals in modern software design with tools like Object-Oriented design, coupled with awareness of concerns like manual memory management
- Experience working with standard electrical communication interfaces like UART, I2C, USB, etc
- Exceptional interpersonal communication and collaboration skills. Great at building trust and driving decisions to a resolution
- Track record of taking ownership over projects and willingness to help others with theirs, from design and code review through to mentorship of new employees
Bonus Qualifications: We do not expect any engineer to have all skills, but we do want you to be excited to learn and grow. Every Device Software Engineer is free to roam up and down our device software stack, so any combination of the following skills is welcome but not required.
- Experience with the STM32 microcontroller family
- Experience with functional safety and processes and standards like UL 60730, ISO 26262, IEC 61508, and UL 1998
- Experience writing higher level system or application software such as diagnostic command line tools or the application side of a communication interface
- Wireless technologies like WiFi, Bluetooth and Zigbee
- Hands-on experience with electronics lab equipment
- Clean energy hardware in a multidisciplinary environment.