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
At Rivian, we’re re-imagining 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.
Responsibilities
- Identify, analyze, design, develop and debug system software for Camera/Imaging and Computer Vision features on Linux, QNX Android systems.
- Deliver quality code, debug complex problems, prioritize and get things done with a high level of efficiency and urgency.
- Collaborate with cross-functional teams across multiple engineering and algorithms teams, making the architectural, design tradeoffs required to deliver scalable end to end software stack across various compute engines.
- Stay open-minded, constantly dive into innovative technologies, and embrace the ambiguity of complex problem solving.
Qualifications
- Hands on experience with C++ on *nix and/or RTOS based systems.
- Preferred Master's Degree in Electronics, Computer Engineering or Computer Science. Exceptional candidates with Bachelor's degree in Computer Science will also be considered.
- Experience with optimizing code across various compute engines and heterogeneous computing ( CPU / GPU / DSP / etc)
- Experience with best in class Engineering practices, technical documentation, design/architecting, and code reviews.
- Experience with software update strategy for development and mass production phases including but not limited to OTA SW updates, factory SW updates, recovery SW updates, secure SW updates, etc.
- Experience with one or more HAL architectures (preferably Camera HAL)
- Familiarity with HW bring up, MIPI / CSI drivers, V4L2 drivers, SerDes drivers would be a positive.
- Good understanding and hands on experience with interface protocol stacks (SPI,I2C, Ethernet).
- Deep understanding of the camera processing pipeline from a systems level, including ISP, sensors, SerDes, power management, etc.
- Familiar with RTOS kernel (Threadx or QNX), IPC, kernel and user space driver model.