Create software for battery management, inverter, and electric motor system functions and perform integration and verification testing with minimal direction of lead engineers.
Deliver scalable and modular software across all customers to enable a single software stream delivery.
Document requirements for design solutions and link them to test cases that can demonstrate software functionality.
Utilize automated test tools in build environments, benches, and products to verify functionality of the feature.
Analyze software defects; determine root cause, create software solution, test and verify closure.
Diagnose, debug and solve issues related to battery, inverter, and electric motor hardware and software.
Work with teams from multiple groups to meet project milestones.
Develop test cases and write comprehensive test plans to assess software products at different system levels.
Identify and resolve software problems; contribute to the team knowledge base so common software errors, corner case situations and other learnings can be retained and shared.
Support the evaluation of software packages, including data reviews, simulation behavioral test, automation methods, and authoring/execution of comprehensive test plans to assess software and simulation products at different system levels.
Requirements
BS in Computer Science, Computer Engineering, Electrical Engineering or other applicable Engineering focuses.
2+ years of embedded software development experience.
Experience developing, reading, and debugging source code in C, C++.
Understanding of Inverters, Supervisory Controls, or Electric Motors.
Master’s Degree in Computer Science, Computer Engineering, Electrical Engineering or other applicable Engineering focuses preferred.
Knowledge of applied controls theory at the Battery, Inverter, or Electric Motor system level preferred.
Proficiency in Agile processes and built-in quality concepts such as Behavioral Driven Development, Test Driven Development, or Model Based System Engineering preferred.
Working knowledge of the software development process preferred.
Test automation (e.g., Jenkins), regression testing, and test procedure creation preferred.
Experience working in an Agile environment preferred.
Communication protocol and tool experience (Automotive Ethernet, CAN, LIN diagnostics, ETAS INCA, Intrepid NeoVI/VSpy, Vector CANoe/CANape tools) preferred.
Tech Stack
Jenkins
Python
Benefits
From day one, we're looking out for your well-being–at work and at home–so you can focus on realizing your ambitions.