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 are looking for an evangelist who understands the lay of the land of this rapidly growing EV marketplace, who is technically savvy to collaborate with architects to define and develop the software interface for the next gen h/w platforms, an expert with Linux/QNX/Android with good foundational understanding of ADAS, Infotainment, Security/FuSa guidelines et al. You will get a chance to work with some of the smartest minds in developing embedded h/w + s/w stack for this rapidly evolving EV industry. This role is open for both Palo Alto (CA) and Irvine (CA) locations.
- Work with h/w and s/w architects to collaborate on next gen platform architecture with various SoCs and the software stack.
- Design, develop and deploy embedded software on Linux/QNX/Android/RTOS for board bring-up, verification, and debugging of automotive electronics
- Collaborate across multiple disciplines to deliver quality code, debug complex problems, prioritize and get things done with a high level of efficiency and urgency.
- Ability to debug in real time across s/w and h/w stack to understand the real issues and provide solutions, work and collaborate with multiple teams if needed.
- Ability to crisply communicate with peers, stakeholders, customers, technical leaders and OEMs/ODMs.
- Bachelor’s or Master’s degree in Computer Science/Engineering or related field
- 10+ years' experience in C/C++ programming skills
- In-depth understanding of Linux fundamentals, bootup, kernel configuration, device driver interfaces, debugging tools etc.
- Good understanding of RTOSes, QNX and Android.
- Knowledge of OS internals (process scheduler, memory management, concurrency, synchronization, memory allocation, file system, networking, storage, subsystem architecture)
- Experience with scripting language (Python, shell)
- Extraordinary debugging skills with an ability to work across orgs/teams to find a suitable solution
- Good understanding and hands on experience with interface protocol stacks (SPI, I2C, Ethernet)
- Perform other duties as required or assigned within the scope of the position
- Some background/understanding of AI/ML would be a big plus.
- Knowledge of hypervisor, virtualization in automotive industry.
- Experience with ARM cores and architecture
- Experience in using electronic test equipment for debugging at the hardware level
- Experience with embedded toolchains (compilers, linkers, linker scripts)
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 email@example.com.
Candidate Data Privacy
Rivian may collect, use and disclose your personal information or personal data (within the meaning of the applicable data protection laws) when you apply for employment and/or participate in our recruitment processes (“Candidate Personal Data”). This data includes contact, demographic, communications, educational, professional, employment, social media/website, network/device, recruiting system usage/interaction, security and preference information. Rivian may use your Candidate Personal Data for the purposes of (i) tracking interactions with our recruiting system; (ii) carrying out, analyzing and improving our application and recruitment process, including assessing you and your application and conducting employment, background and reference checks; (iii) establishing an employment relationship or entering into an employment contract with you; (iv) complying with our legal, regulatory and corporate governance obligations; (v) recordkeeping; (vi) ensuring network and information security and preventing fraud; and (vii) as otherwise required or permitted by applicable law.
Rivian may share your Candidate Personal Data with (i) internal personnel who have a need to know such information in order to perform their duties, including individuals on our People Team, Finance, Legal, and the team(s) with the position(s) for which you are applying; (ii) Rivian affiliates; and (iii) Rivian’s service providers, including providers of background checks, staffing services, and cloud services.
Rivian may transfer or store internationally your Candidate Personal Data, including to or in the United States, Canada, the United Kingdom, and the European Union and in the cloud, and this data may be subject to the laws and accessible to the courts, law enforcement and national security authorities of such jurisdictions.
Please note that we are currently not accepting applications from third party application services.