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.
THIS IS WHAT YOU’LL DO:
- Develop and implement embedded software components into an automotive ECU application running in a FreeRTOS / SafeRTOS environment. These components include energy and power management, charging, thermal controls, notifications and alarms, vehicle state management.
- Create requirements for application functionality, define the software architecture and then implement them.
- Work with cross-functional teams to define vehicle-wide functions, develop and integrate the software
- Develop embedded test code for testing all software components in an ECU, from HAL all the way up to the application, using either a virtualized SIL or physical HIL system.
- Gather and document software requirements from multiple stakeholders
- Support technical meetings with team members and management to discuss software architecture, feature requests, and code reviews
- Design with ISO-26262 awareness, compliance and support
THIS IS WHAT YOU’LL NEED:
- Bachelor of Science in Computer Science, Computer Engineering, Electrical Engineering, Software Engineering.
- 5+ years’ experience in embedded programming in C or C++
- 3+ years’ experience in using a Real Time Operating Systems (RTOS) such as FreeRTOS, SafeRTOS, Nucleus, etc.
- Experience with bus standards such as SPI, I2C, CAN, LIN, and Ethernet.
- Experience with communications protocols such as UDS, DoIP, and TCP/IP
- Experience with advanced 32-bit multi-core microcontrollers
- Strong interpersonal skills.
- Proficiency in using electronic test equipment for debugging at the hardware level (oscilloscopes, logic analyzers, etc.)
- Ability to be creative/resourceful - to work in a fast-paced start-up environment.
ADDITIONAL PREFFERED SKILLS:
- Experience developing production software for automotive ECUs or other safety critical systems
- Experience or exposure to ISO 26262 or other functional safety development processes (DO-178)
- Experience in MATLAB/Simulink a plus
- Experience with Infineon or NXP automotive processors.
- Experience with Vector tools such as CANalyzer, CANOE, etc.
- Experience with configuration management software (SVN, GIT, etc.)
THIS IS WHERE YOU’LL WORK:
- Department: Energy Management Systems
- Location: Irvine, California or Palo Alto, California
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 firstname.lastname@example.org.
We take your privacy seriously. For details please see our Candidate Privacy Notice.
Please note that we are currently not accepting applications from third party application services.