Rivian

Sr. Diagnostic Software Engineer

Irvine, CA, US

26 days ago
Save Job

Summary

The Diagnostics Team’s mission is to be the industry trailblazer in ZEV diagnostics leveraging our smart vehicle ecosystem to delight our customers as they fearlessly (and faultlessly) enjoy their next adventure.

We achieve our mission by developing the most advanced integrated diagnostics system in the world, capable of proactively monitoring, analyzing, and learning from our fleets throughout their lifecycle.

 

You will play a critical role in achieving our mission.  As a Diagnostic Software Engineer, you will be responsible to work directly with the rest of the Diagnostics Organization to develop diagnostic software for all of our products.  This will include software for both the onboard diagnostic system and the enhanced diagnostic system. 

 

  • Work with the Onboard Diagnostic System Development Engineers and Enhanced Diagnostic System Development Engineers to develop software that meet their requirements.  Such features will include diagnostic monitors, diagnostic procedures, diagnostic services, and diagnostic communications.
  • Specifically, develop algorithms and features in an embedded-C environment for onboard diagnostics, enhanced diagnostics, and diagnostic communications, for all of our products.
  • Write embedded test code for testing all software components using unit, software in the loop (SiL), and hardware in the loop (HiL) tests.
  • Work with the Diagnostic Test and Integration Engineers throughout the development and integration process to put forth a properly functioning diagnostic feature.
  • Work with the Diagnostic Calibration Engineers to iterate the software design to account for calibratability as necessary.
  • Participate in code reviews during development sprints, and provide technical feedback to drive quality design.

 

  • BS in Computer Science, Computer Engineering, or Software Engineering (Electrical, Mechanical, Mechatronics, Controls, or other similar disciplines will be considered).
  • 3+ years of software development experience (preferably, experience in embedded programming in C or C++, level negotiable based on experience).
  • Proficiency in C and Python.
  • Familiarity with source control systems (e.g., Gitlab, Bitbucket), and tools such as Jama and Jira.
  • Solid understanding of real-time operating systems (RTOS).
  • Effective ability to troubleshoot and root cause complex systems.
  • Familiarity with vehicle communication protocols (CAN, CANFD, ETH, LIN, UART, SENT, etc.)
  • Demonstrated ability to solve complex technical problems and deliver technical projects.
  • Ability to collaborate with multiple cross-functional disciplines, including external stakeholders.
  • Ability to think fast, prioritize, and make decisions that benefit Rivian as a whole using a first principles approach.
  • Exceptional verbal and written communication skills.
  • The following are a plus:
    • Experience in OBD II.
    • Technical understanding of electrical vehicle architecture.
    • Familiarity with all layers of diagnostic communication protocols (ISO-14229-x, SAE J1979-x, ISO-15031, ISO 15765-x, ISO 13400-x, etc.)
    • Familiarity with diagnostic standards (SAE J2012, SAE J1979, SAE J1930, SAE J1962, SAE J1978, etc.)

How strong is your resume?

Upload your resume and get feedback from our expert to help land this job