About The Position

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. We are seeking a Senior Software Engineer, Android Applications to lead the development of mission-critical diagnostic and data collection applications for the Rivian Central Information Display (CID). In this role, you will bridge the gap between high-level Android application development and low-level vehicle systems. You will build the tools that our engineers use to manage data logging, note collection, visualize vehicle health, system integrity, and real-time diagnostic streams directly from the navigator's seat. In this role you will create a performant, stable, and highly responsive Android application that interacts with Android Automotive OS (AAOS) and the autonomous driving compute platform. You are building an easy-to-use interface to facilitate data collection that will expand into a window into the vehicle's brain, facilitating common data collection workflows and enabling new use cases for autonomy engineers and test drivers.

Requirements

  • Education: Bachelor’s or Master’s in Computer Science, Software Engineering, a related field, or equivalent experience.
  • Experience: 5+ years of professional Android development experience.
  • Android Mastery: Expert-level knowledge of Kotlin, Coroutines, and the Android SDK. Deep understanding of Android Internals (Services, Content Providers, IPC/Binder).
  • Modern UI: Proficiency in building reactive, high-performance user interfaces.
  • Systems Programming: Experience dealing with binary data formats (Protobuf, FlatBuffers) and an understanding of networking protocols (TCP/UDP, MQTT).
  • Reliability: A track record of building "crash-proof" applications that handle edge cases and long-running sessions.
  • Tooling: Experience with adb shell scripting and Python.

Nice To Haves

  • Automotive Experience: Prior experience with vehicle communication protocols (CAN, LIN, Automotive Ethernet).
  • AAOS Knowledge: Familiarity with the Android Automotive OS stack, specifically how applications interact with the Car Service and VHAL.
  • NDK/C++: Experience using the Android NDK for performance-critical data processing or interfacing with C++ libraries.
  • Visualization: Experience with Android Graphics (Canvas, OpenGL ES, or Vulkan) for real-time rendering.

Responsibilities

  • AAOS Application Development: Design and implement robust Android applications using Kotlin specifically tailored for the Rivian CID environment.
  • Data Visualization: Build efficient pipelines to consume, parse, and visualize high-frequency vehicle data from the Vehicle Network (CAN, Ethernet) via the Android VHAL (Vehicle Hardware Abstraction Layer).
  • System Integration: Work closely with the Autonomy and Infotainment teams to define new communication pathways required for deep vehicle data access.
  • Performance Optimization: Use Android Profiler, systrace, and perfetto to identify bottlenecks in the app's rendering and data processing layers.
  • Mentorship & Quality: Drive best practices for Android development within the team, owning the functionality and quality of the data recording application.

Benefits

  • Rivian 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.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service