As a Software Engineer on the Battery Management System (BMS) Team, you will have the opportunity to help deliver the high-quality software that enables our vehicles to be the best in the world. The team develops all the software required to make our products (past, present, and future) the best they can be by writing low-level firmware drivers, implementing software algorithms, and designing and building validation/test infrastructure. The BMS team places an especially large emphasis on ensuring we deliver a product that is safe, reliable, has high-quality user-facing indicators (i.e. range, SOC, power, etc.), and makes the customer experience the best it can be. Your efforts with the team to engineer robust, scalable, and performant systems would directly contribute to meeting each of those goals.
* Develop low-level FW drivers to support new and existing microcontrollers
* Design and implement real-time software controllers and algorithms for features including state of charge (SOC), state of health (SOH), state of energy (SOE), power estimation, and physics models among various other features.
* Work with various cross-functional teams to develop requirements and test plans for new BMS features, diagnostics, algorithms, etc.
* Degree in Electrical Engineering, Computer Engineering, Software Engineering, Computer Science, Mechatronics, etc. or the equivalent in experience with evidence of exceptional ability
* 1+ years of relevant experience (firmware engineer, embedded systems development, etc.)
* Proficiency in C and/or C++ as well as Python or other scripting languages
* Strong software fundamentals
* Preferred: Experience working with real-time systems and embedded microprocessor tools
* Preferred: Experience testing, debugging, and working directly with hardware
* Preferred: Experience with control systems