Embedded Firmware Engineer, Battery Management Systems
Tesla
This team is extremely focused on the quality of users’ indicators (i.e. range, State-of-Charge, power, etc.) which directly plays into the overall experience and the safety of the system as a whole. The team strives to create robust, efficient firmware and your responsibility is to ensure the code quality is extremely high. You will work within the development and integration teams to create innovative automated test systems and implement tests on these platforms. These systems explore and validate the performance capabilities of our hardware and firmware. You will also play an important role in our future technologies' roadmap, including firmware support for new products, packs, cells, etc.
- Work with various cross-functional teams to develop requirements for new BMS features, diagnostics, algorithms, etc.
- Design, implement and test cutting-edge algorithms for run-time BMS logic to derive State-of-Charge, State-of-Health, State-of-Power and State-of-Energy computations
- Develop Software-in-the-Loop infrastructure in an object-oriented fashion, making high degree of re-use of existing objects and objects that are highly reusable
- Develop and enhance existing battery models to ensure Real vs. Simulation accuracy
- Design rapid test iteration framework for developers to use for quick, at-desk spot checks
- Develop “real world” playback mechanism for field data, integrating with existing Tesla data systems
- Develop behavior models for various subcomponents of the vehicle, complete with fault insertion capability engineered in
- Develop complex battery aging model(s) which accurately reflect true cell aging patterns
- Degree in Electrical Engineering, Computer Engineering, or the equivalent in experience with evidence of exceptional ability
- 1+ years of relevant experience (firmware engineer, embedded design and/or validation)
- Expertise testing devices and debugging hardware (oscilloscope, logic analyzer, DMM)
- Desire to participate in improving code robustness and designing testing infrastructure
- Ability to think creatively and produce “outside of the box” solutions
- Proficiency in C and C++ and scripting skills in at least one common language (Python, Perl, Shell)
- CANalyzer / CANape experience
- Experience in schematic design & capture (Altium Designer)
- Experience with FPGA or HDL (Verilog, VHDL)
- Background with Simulink and modeling embedded designs