Rivian

Staff Software Engineer, Middleware

Remote
C++ Bash Python Linux ARM OpenCV
Description

Staff Software Engineer, Middleware, Autonomy

Location: United Kingdom, Remote

Category: Autonomous Driving

Employment Type: FULL_TIME

Tags: Full Time, Rivian Automotive

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 As 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 Qualifications 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 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 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. #LI-Hybrid 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 [email protected]. 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.

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

Qualifications

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 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 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. #LI-Hybrid
Rivian
Rivian

0 applies

0 views

There are more than 50,000 engineering jobs:

Subscribe to membership and unlock all jobs

Engineering Jobs

60,000+ jobs from 4,500+ well-funded companies

Updated Daily

New jobs are added every day as companies post them

Refined Search

Use filters like skill, location, etc to narrow results

Become a member

🥳🥳🥳 452 happy customers and counting...

Overall, over 80% of customers chose to renew their subscriptions after the initial sign-up.

To try it out

For active job seekers

For those who are passive looking

Cancel anytime

Frequently Asked Questions

  • We prioritize job seekers as our customers, unlike bigger job sites, by charging a small fee to provide them with curated access to the best companies and up-to-date jobs. This focus allows us to deliver a more personalized and effective job search experience.
  • We've got over 200,000 jobs from 15,000+ vetted companies. No fake or sleazy jobs here!
  • We aggregate jobs from 15,000+ companies' career pages, so you can be sure that you're getting the most up-to-date and relevant jobs.
  • We're the only job board *for* software engineers, *by* software engineers… in case you needed a reminder! We add thousands of new jobs daily and offer powerful search filters just for you. 🛠️
  • Every single hour! We add 2,000-3,000 new jobs daily, so you'll always have fresh opportunities. 🚀
  • Typically, job searches take 3-6 months. EchoJobs helps you spend more time applying and less time hunting. 🎯
  • Check daily! We're always updating with new jobs. Set up job alerts for even quicker access. 📅

What Fellow Engineers Say