Sr. Firmware Engineer - Bay Area, CA
The Sr. Firmware Engineer will be responsible for the design of the battery management system firmware which monitors and protects the battery systems and the application interfaces to vehicles, ships and aircraft.
- Designs require a high level of creativity and software design intuition.
- Designs must maximize performance while ensuring the safety of surrounding systems and personnel.
- Will work directly with customers, vendors, and other engineers as you create clean, elegant, reusable code in an environment built on continuous learning and mentoring.
- Work to advance research and design to make products even more versatile, robust and state of the art.
- Will perform requirements definition, new coding and refactoring, hardware/prototype bring up, verification testing, and development of automated test equipment.
- BS or MS in Computer Science, Computer Engineering, Mechatronics, or equivalent.
- 5+ years industry experience including recent application of relevant skills.
- Strong intuitive sense of fundamentals including algorithms, data structures, etc.
- Expertise in embedded C and robust state machines for real time applications.
- Proficiency at writing low level hardware drivers for UART, ADC, SPI, I2C, DMA, etc.
- Experience with Microchip PIC, Atmel AVR, STM32 ARM Cortex, or similar MCU's.
- Ability to create complex system state diagrams and read electrical schematics.
- Expertise in hands on board bring up, troubleshooting, and diagnostic tool usage.
- Interdisciplinary background particularly in mechanical and/or electrical engineering.
- Strong background in agile development practices.
- Familiarity with event driven frameworks, lightweight RTOS.
- Comfortable with other high level languages (Python, C#, Java, etc).
- Ability to create serial/USB debug interfaces using lightweight in-module test harnesses.
- Comfortable with C++ classes and simple porting of assembly code to C.
- Knowledge of workflows in distributed VCS (Git, Mercurial, etc).
- Ability to design bootloaders, SPI flash, SD, and lightweight file system storage.
- Experience with low power MCU’s.