Software Engineer, Middleware, Autonomy
Listed on 2025-12-19
-
Software Development
Software Engineer, Embedded Software Engineer, DevOps
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 SummaryAs a Software Engineer specializing in safety‑critical self‑driving middleware, you will play a vital role in the design, development, and deployment of software that underpins essential self‑driving features. Your responsibilities encompass a range of technical tasks, from software development to architecture analysis, all contributing to the successful implementation of robust and reliable self‑driving solutions.
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
- B.S. / M.S. in Computer Science, Engineering, or a related field
- 8+ years of experience developing production‑grade software from requirements gathering
- 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 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, Tensor
RT, OpenCL, etc.) - Experience contributing to middleware and/or building abstraction layers
- 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
- Passionately motivated to take ideas from R&D phase to a product
- Software Development life cycle experience: from requirements gathering through to implementation and maintenance.
Salary Range for California Based Applicants: [$ - $] (actual compensation will be determined based on experience, location, and other factors permitted by law).
Benefits SummaryRivian provides robust medical/Rx, dental and vision insurance packages for full‑time employees, their spouse or domestic partner, and children up to age 26. Coverage is effective on the first day of employment.
Equal OpportunityRivian 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…
(If this job is in fact in your jurisdiction, then you may be using a Proxy or VPN to access this site, and to progress further, you should change your connectivity to another mobile device or PC).