About Us:
Rivian and Volkswagen Group Technologies is a joint venture between two industry leaders with a clear vision for automotive’s next chapter. From operating systems to zonal controllers to cloud and connectivity solutions, we’re addressing the challenges of electric vehicles through technology that will set the standards for software-defined vehicles around the world.
The road to the future is uncharted. By combining our expertise across connectivity, AI, security and more, we’ll map a new way forward. Working together, we’ll create a future that’s more connected, more intelligent, more sustainable for everyone.
Role Summary:
As a Staff Embedded Software Engineer, you will transform real-world ECU firmware into high-performance virtual devices that run on everyday workstations and cloud servers. Your work closes the gap between hardware and software by letting entire vehicle subsystems boot, communicate, and evolve entirely in software. This virtual-first approach is disrupting traditional development cycles by enabling teams to prototype, stress-test, and ship new vehicle features in days rather than months.. You’ll collaborate with the core hardware-platform and application-software groups—including Charging, Body Controls, Infotainment, Vehicle Dynamics, and related domain teams—to craft the virtualization layers and peripheral models that make this possible, unlocking a new era of rapid iteration and insight-driven engineering across the vehicle stack.
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.
- Lead design reviews, raise code quality, and mentor peers on real-time pitfalls, clean abstraction boundaries, and maintainable C/C++/Python practices.
Qualifications:
- 10+ years of hands-on embedded firmware experience, including porting or deeply modifying RTOS-based systems.
- B.S., M.S., or Ph.D. in Computer Science, Electrical Engineering, or a related field.
- 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.
- 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.
Incase you would like to apply to this job directly from the source, please click here