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.
As a Software Engineer on Rivian’s Telematics team, this is what you'll do:
- Develop software applications and services for Rivian’s telematics system
- Design and implement high performing and effective ML models and algorithms using C++ and object-oriented designs for embedded systems
- Drive the initiatives in the vehicle software organization to effectively harness vehicle data at the ‘edge’
- Collaborate with various in-vehicle software teams in developing efficient data collection strategies, respecting privacy, and security principles to enhance features and predict critical SW failures
- Partner with a broad range of teams – In-vehicle SW domains, cloud, privacy/security, field reliability, diagnostics, and service teams use-cases are satisfied by the models and algorithms
- Implement and deploy effective machine learning models on Rivian’s telematics system
- Define metrics and KPIs in collaboration with various technical leads and cloud team to present insightful dashboards
- Ensure good software architecture practices are followed across the team; actively contribute to code and design reviews; perform unit testing to deliver high quality software
This is what you'll need:
- BS/MS in Computer Science or Computer Engineering with 7+ years of direct experience in software development for embedded systems
- Must have strong first principles thinking, analytical and problem-solving skills
- Must take ownership, operate with a sense of urgency, and take issues to closure
- Strong expertise in C/C++ programming skills and some experience in Python or other scripting languages
- 3+ years’ experience leading development of ML models for embedded Linux, Android, or real-time systems in multi-processor environment
- Strong debugging, analytical and problem-solving skills to debug system performance issues
Preferred Skills:
- Strong algorithms, data structures, in-memory databases
- Strong cross functional collaboration to come up with elegant system-wide solutions
- Previous experience with Telemetry, device Management and OTA updates for electronic devices with an eye for optimum utilization of system resources
- Good working knowledge of Cellular and Wi-Fi based Connected systems and services
- Very good understanding of networking stack, web protocols, OS - Linux, Android or RTOS
- Previous experience designing connection/network management for mobile or IoT devices
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 accessibility@rivian.com.
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.