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.

Rivian description:

At Rivian, we’re reimagining what mobility can be. Beyond redesigning the automobile, we’re rethinking the entire ecosystem. From excitement to sustainability, utility to comfort, we’re working to deliver joyful mobility experiences without the pain points of today.

Our diverse team shares an innate curiosity for the world, a willingness to see things differently, and a passion for getting things done. We never stand still in our pursuit of progress, and we’re looking for the best and brightest talent to accelerate our vision toward future mobility.

Rivian has development centers in the Detroit area, San Jose, Palo Alto, Vancouver, and Irvine, as well as a production facility in Normal, Illinois, where our manufacturing operations are based and an Engineering office in the UK. The development of our first set of products is well underway, with the alpha prototypes complete and testing in process. 

This is who you are:

Your main responsibility includes developing application features for battery management system which directly relate to the performance of the vehicle. The features you will develop will be seen by the users in how well the car drives, how quickly it accelerates and how powerful it is. You will get a chance to shape excellent user experience. You will work closely with the domain experts including the BMS controls and firmware teams to understand model-based design and contribute to upcoming features. You will also implement best practices to maintain and improve code performance. You will get a chance to then participate in embedded software development and work with embedded software engineers to implement low level features as well.

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 will get to work closely with experts in algorithms and be able to build your domain knowledge in electric powertrains. You must have an acute understand of textual programming languages, C, and familiar with model-based systems development (Matlab/ Simulink/ State flow). 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:

  • Lots of passion for automotive, electric vehicles and coding.
  • Implement BMS application features in C responsible for functionality of Rivian’s vehicle models.
  • Architect the software such that it is scalable across different platforms and upcoming models and products.
  • Be able to seamlessly transition between Matlab/Simulink models / generated code and hand-coded C code.
  • Build infrastructure/ instrumentation in the codebase to be able to perform tests across software releases to catch to catch performance deviations
  • Write Software in Loop test cases and increase test coverage for BMS application.
  • Participate in code reviews with other engineers
  • Grow and mature as the development and production process evolves:
    • Develop knowledge on low-level firmware drivers, all the way up to high-level application software
  • Apply lessons learned to future tasks
  • Take new responsibilities on software architecture for future products


This is what you’ll need:

  • 1-5 years of work experience in the software/ automotive industry
  • At least a bachelor’s degree in engineering discipline (CS or EE preferred)
  • Well-versed w/ multiple programming languages such as C, Python, MATLAB.
  • Experience with working on real time operating systems is preferred
  • Experience working on EV/ Solar car/ BAJA FSAE type student competitions is a plus.
  • Previous experience in automotive / autonomous / electrification industry is a plus
  • 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 ) 

This is where you’ll work:

Department:  Battery Management Systems

Location: Irvine CA

Equal Opportunity

Rivian is an equal opportunity employer and complies with all applicable federal, state, and local fair employment practices laws. All qualified applicants will receive consideration for employment without regard to race, color, religion, national origin, ancestry, sex, sexual orientation, gender, gender expression, gender identity, genetic information or characteristics, physical or mental disability, marital/domestic partner status, age, military/veteran status, medical condition, or any other characteristic protected by law.

Rivian is committed to ensuring that our hiring process is accessible for persons with disabilities. If you have a disability or limitation, such as those covered by the Americans with Disabilities Act, that requires accommodations to assist you in the search and application process, please email us at accessibility@rivian.com.


We take your privacy seriously. For details please see our Candidate Privacy Notice.

Apply for this Job

* Required