Rivian is looking to solve the problem of developing and deploying safety-critical self-driving middleware for their Electric Adventure Vehicles.
Requirements
- Strong C++ programming skills
- Familiarity with at least one scripting language (for example Bash, Lua, Python)
- Experience in automotive or robotics software development
- Experience in software development for x86_64 and ARM architectures
- Experience working on heterogeneous systems with various types of hardware accelerators (GPU, ISP, Encoder, etc.)
- Experience using and/or building libraries for hardware accelerators (CUDA, TensorRT, OpenCL, etc.)
- Experience contributing to middleware and/or building abstraction layers
Responsibilities
- Design, develop, and deploy software within hardware abstraction middleware to enable safety-critical self-driving features
- Develop software working on Linux as well as real-time operating systems (QNX, FreeRTOS, etc.)
- Develop software working on a distributed and heterogeneous system (multiple processors/HW engines)
- Develop necessary tools to support development, debugging, and testing
- Assist in software-design and code reviews while assisting other developers on technical issues, design choices, and decision making
- Analysis of requirements, architecture, design, development, code review, quality assurance, and deployment of entire software engineering life cycle
- Coordinate with application development and cross-functional teams to enable and support middleware integration
Other
- B.S. / M.S. in Computer Science, Engineering, or a related field
- 8+ years of experience developing production-grade software from requirements gathering
- Familiar with OpenCV, OpenVX, or relevant acceleration frameworks in perception applications
- Experience contributing to software tooling (for code auto-generation, test automation, fault injection, etc.)
- Good team player with great communication skills to drive cross-functional efforts in a fast-paced development environment