Rivian and Volkswagen Group Technologies is looking to transform real-world ECU firmware into high-performance virtual devices that run on everyday workstations and cloud servers, closing the gap between hardware and software and enabling rapid iteration and insight-driven engineering across the vehicle stack.
Requirements
- 10+ years of hands-on embedded firmware experience, including porting or deeply modifying RTOS-based systems.
- Expert-level C, strong C++, and production-quality Python skills.
- Deep understanding of RTOS fundamentals (tasks, ISRs, schedulers, queues, timers) and how they map onto POSIX user-space primitives.
- Proven expertise in embedded optimization and low-level debugging; comfortable with GDB and hardware/protocol analyzers.
- Solid grasp of multi-threaded and multi-core programming concepts.
- Experience developing for automotive communication networks (CAN, LIN, Ethernet) and corresponding user-space interfaces (e.g., SocketCAN).
- Hands-on ownership of Bazel (or similar) build systems and cross-compile tool-chains for heterogeneous targets.
Responsibilities
- Maintain and evolve the user-space runtime that runs production firmware on host machines. Familiarity with mapping RTOS concepts onto POSIX primitives is a plus.
- Hook new ECU firmware to existing stubbed / modeled libraries (GPIO, CAN, LIN, PWM, watchdog, ADC/DAC, etc.) so code runs unmodified on workstations and in the cloud.
- Implement functional (non-cycle-accurate) device models in C or Python when hardware isn’t available, partnering with hardware engineers to capture realistic behavior and edge cases.
- Own build scripts, tool-chains, and configurations that generate both host binaries and target MCU images, delivering fast, reproducible builds.
- Extend existing HIL Pytest suites for virtual configurations: inject faults, log traces, and validate timing or bus traffic against golden references.
- Track down discrepancies between firmware assumptions and host behavior; strong problem-solving instincts and GDB proficiency when needed.
- Work closely with middleware/OS engineers and, when required, hardware teams to align abstractions, validate new peripheral models, and unblock integration issues.
Other
- B.S., M.S., or Ph.D. in Computer Science, Electrical Engineering, or a related field.
- Strong communication skills and a track record of effective collaboration within fast-moving, multidisciplinary teams.
- Passion for shortening the idea-to-product cycle through virtualization, rapid iteration, and rigorous engineering practice.
- Ability to work in a diverse environment and commitment to equal opportunity employment.
- Compliance with applicable fair employment practice laws regarding citizenship and immigration status.