Job Description
About Rivian
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.
Role Summary
We are looking for a Staff level Embedded Software Engineer who understands the lay of the land of this rapidly growing EV marketplace. Our team focuses on providing software stack for Design Verification of the PCBAs & ECUs (Electronic Component Units) for current and next gen vehicle platforms (Autonomy, Infotainment, Vehicle Controls etc.). You will be writing device drivers for the PCBA components, doing s/w prototypes for early "h/w + s/w co-designs", validation test cases in Python/C, SDKs and much more. 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.
Responsibilities
• 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/Android and/or 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 issue and provide solution, work and collaborate with multiple teams if needed.
• Ability to crisply communicate with peers, stakeholders, customers, technical leaders and OEMs/ODMs.
Qualifications
• Bachelor’s or Master’s degree in Computer Science/Engineering or related field
• 7+ years' experience in Embedded Software Development
• Good understanding of Linux and/or RTOS fundamentals, Board Support Pkgs, kernel configuration, device driver interfaces, debugging tools etc.
• Good debugging skills with an ability to work across orgs/teams
• Experience using Lauterbach, Oscilloscope, JTAG, Flashing Tools etc.
• Good understanding of interface protocol stacks (SPI, I2C, Ethernet, PCIe), and board bring-up
• Experience with scripting language (Python, shell)
Preferred Skills:
• Knowledge of OS internals (process scheduler, memory management, concurrency, synchronization, storage)
• 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)
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 candidateaccommodations@rivian.com.