Senior Software Engineer - Display/Touch Infotainment Platform
Rivian and Volkswagen Group Technologies · Palo Alto, CA · Yesterday
HybridEngineering$147k–$202k/yrFull-time
About the role
The Infotainment Platform team at Rivian Volkswagen Technologies is looking for a skilled Software Engineer to join our Automotive Software team. We are developing the next generation, Android-based in-vehicle experience that will be deployed across all future electric vehicles in the Rivian and Volkswagen Group portfolios.
Responsibilities
- Develop, integrate, and maintain display drivers and compositor frameworks (e.g., DRM/KMS, SurfaceFlinger, Wayland, OpenWFD) for complex, multi-display automotive topologies.
- Develop and integrate drivers and middleware for touch panels (capacitive, resistive) and physical infotainment buttons (e.g., hard keys, rotary dials, steering wheel controls).
- Optimize input processing, gesture recognition, multi-touch coordination, and noise filtering within the OS input frameworks (e.g., Android InputFlinger, Linux evdev).
- Tune the complete glass-to-glass pipeline. Optimize frame rates, visual quality (color accuracy, white point tuning), and touch/button latency to ensure a fluid, highly responsive user experience.
- Partner closely with hardware vendors and SoC partners to bring up new display panels (LCD, OLED) and input interfaces via standard buses (MIPI DSI, I2C, SPI) and SerDes links.
- Investigate and resolve complex display and input issues (e.g., screen freezes, visual artifacts, touch ghosting, missed button presses, dropped frames) using software profilers, gdb, JTAG, and logic analyzers.
- Implement advanced system features such as dynamic backlight control, power sequencing, resolution switching, fault monitoring, and multi-display synchronization.
- Work closely with Hardware engineers, UI/UX designers, and System teams to define requirements, document software architectures, and ensure compliance with automotive safety and EMC requirements.
Requirements
- Bachelor's or Master's degree in Computer Engineering, Electrical Engineering, Computer Science, or a related field.
- 5+ years of proven experience in embedded software development or platform engineering, specifically focusing on display panels, touch screens, and hardware input technologies.
- Strong proficiency in C/C++ programming.
- Solid grasp of display and input frameworks (e.g., Linux DRM/KMS, Android SurfaceFlinger/InputManager).
- Experience with hardware peripherals and interfaces (I2C, SPI, UART, MIPI DSI).
- Excellent problem-solving, system-level debugging, and teamwork skills.