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 is building a new kind of car company. Our vehicles and technology are designed and engineered to challenge what’s possible and to inspire people to explore the world in new ways.
We believe in the power of adventure. While a vehicle can’t make someone adventurous, it can nurture that fundamental desire in each of us to go places we’ve never been and do things we’ve never done – thoughtfully and sustainably.
- Collaborate with cross functional teams such as Apps, Middleware, Platform Firmware, and System Architecture to agree on feature requirements and architecture.
- Create, analyze, and review software module designs to realize desired communication services to support Infotainment features and system capabilities.
- Implement software aligned with the overall system design and software development process standards.
- Create unit tests and debug issues arising from testing and validation activities.
- Measure, analyze, and optimize software performance around key performance indicators.
- Participate in software level failure mode analysis.
- Bachelor’s Degree or greater in Computer Science, Software Engineering, Applied Mathematics, Electrical Engineering, Computer Engineering, or related field.
- 8+ years’ experience with developing software from given requirements into a functional, efficient, and tested implementation.
- High proficiency with C/C++. Additional proficiency with Java or Kotlin helpful.
- Extensive experience with POSIX-based embedded systems, one or more of Android, Linux, QNX.
- Knowledge of source code version control using git.
- Knowledge of hypervisor, virtualization, virtio based device emulation.
- Extensive experience with Linux bootup, kernel configuration, device driver interfaces, debugging tools.
- Experience working with diverse engineering teams.
- Desire to work in a fast-paced, dynamic, highly collaborative environment.
- Strong verbal and written communication skills.
- Desire to quickly learn about new technologies.
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.