Rivian is on a mission to keep the world adventurous forever. This goes for the emissions-free Electric Adventure Vehicles we build, and the curious, courageous souls we seek to attract.
As a company, we constantly challenge what’s possible, never simply accepting what has always been done. We reframe old problems, seek new solutions and operate comfortably in areas that are unknown. Our backgrounds are diverse, but our team shares a love of the outdoors and a desire to protect it for future generations.
We operate development centers in Plymouth, Michigan; Southern California (Irvine, Carson & LA); Silicon Valley (San Jose and Palo Alto); Vancouver, British Columbia; and Surrey, England; as well as a manufacturing facility in Normal, Illinois.
This is who you are:
Your main responsibility includes developing, maintaining and automating the back-end tools for the Battery Management System (BMS) group. You will develop software which automates various processes: from code-compiling to battery laboratory test-scripting, to streamlining workflow for battery scientists, controls/algorithms engineers, and manufacturing engineers. All the while, you will be developing an understanding of the functionality of the BMS, the development toolchain, and the operating system of the Rivian ECU. You must have an acute understanding of testing equipment, multi-application software integration via APIs, in addition to knowledge of scripting multiple programming languages. You will utilize your knowledge of C, Visual Studio, Python, Java, MATLAB, HTML, etc. to create new & unique applications & GUIs to help accelerate battery technology. You must be creative, clever, proactive, driven by detail, and an individual who can work independently, or with other embedded programmers, software architects, and application engineers.
This is what you’ll do:
- Use best-practices, experience, & talents to create new processes for:
- Identification & automation of repetitive tasks which occur in the software development or testing process
- Data analysis of complex battery parameters in both lab + vehicle data
- Software unit test automation, for both C-code and MATLAB/Simulink Model-based-design
- Automate BMS & battery module test stations including but not limited to ECU bench, pack, and lab car
- Automated report & diagram generation for release software documentation
- ECU software calibration management & release reports
- Grow and mature as the development and production process evolves:
- Transition between C-programming, GUI development, and Model-based-design scripting
- Develop knowledge on low-level firmware drivers, all the way up to high-level application software
- Apply lessons learned to future automation tasks
- Take on new responsibilities for validation & manufacturing software development as they become available
this is what you’ll need:
- 2+ years of work experience in the software industry
- At least a bachelor’s degree in engineering discipline (CS or EE preferred)
- Well-versed w/ multiple programming languages such as C, C++, Python, Java, VS, MATLAB and others.
- Previous programming experience on Battery Management Systems, or other automotive ECUs
- Previous experience in automotive and/or battery product development or extreme safety environments
- Familiarity using Vector tools (CAN/CANape etc.,).
- Experience working on ECU bench test stations for software regression testing (experience with bringing up the test station from scratch is a plus)
- Experience working on Battery Test Cyclers such as Arbin, Maccor, Aerovironment, NHR, etc.
- Excellent problem-solving skills; reliant on core engineering principals & common sense
- Strong communication, multitasking, & inter-personal skills, both in presentation & technical writing
- Versed with requirements management tools (e.g.JAMA, Doors, etc.) & issue tracking tools ( Jira, Bugzilla )
- Ability to write technical documentation& communicate subject matter expertise effectively with others
This is where you’ll work:
Department: Battery Management Systems
Location: Irvine CA
Rivian is an Equal Opportunity Employer and Prohibits Discrimination and Harassment of Any Kind: Rivian is committed to the principle of equal employment opportunity for all employees and to providing employees with a work environment free of discrimination and harassment. All employment decisions at Rivian are based on business needs, job requirements and individual qualifications, without regard to race, color, religion or belief, family or parental status, or any other status protected by the laws or regulations in the locations where we operate. Rivian will not tolerate discrimination or harassment based on any of these characteristics. Rivian encourages applicants of all ages.
We take your privacy seriously. For details please see our Candidate Privacy Notice.