Job Summary: The Software Engineer will develop embedded software for Battery Management Systems. The position will include analysis and development of software/system requirements, design and coding of battery management systems, and final validation of completed software solution. The Software Engineer will assist the hardware design team when developing and testing electronics, assist in developing EOL testing procedures and tools, and interface directly with the customer to support delivered products. This position requires the ability to read instructions represented in manuals and follow these instructions. This position exists in a temperature-controlled environment.
Essential/Key Functions: - Develop embedded firmware for battery management systems.
- Develop PC software to flash, service, and test battery packs.
- Develop software requirement, design, and validation documents.
- Develop testing and validation procedures.
- Assist with BMS electronics development and battery pack EOL testing.
- Develop robust code with craftsmanship and attention to detail.
- Support internal and external customers in root cause analysis.
Minimum (Required) Qualifications: Education and Experience
- 2+ years' experience preferred
- Bachelor or Master of Science degree in Electrical Engineering, Computer Engineering or Computer Science required.
Knowledge, Skills and Abilities
- Experience with microcontroller architecture and embedded system development.
- Experience with version control tools. Knowledge of Git & GitLab, CI/CD a plus.
- Experience with CAN based communication tools such as Vector Tools a plus.
- Experience reading schematics and familiarity with board level electronics a plus.
- Knowledge of IOT, UDS protocol, and MISRA-C are all plusses.
- Knowledge of Battery Management Systems a plus.