Staff Embedded Software Engineer
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.
About the role
We are looking for a Staff Embedded Software Engineer to support ECU-level platform bring-up and validation for current and next-generation vehicle platforms, including Autonomy, Infotainment, and Vehicle Controls. This role focuses on cutting-edge infotainment systems, ensuring robust performance and seamless user experiences at the Electronic Control Unit (ECU) level. You'll collaborate with some of the brightest minds in developing the embedded hardware and software stack for the rapidly evolving EV industry.
Responsibilities
- ECU Platform Bring-up & Optimization: Lead and contribute to the bring-up of new hardware platforms at the ECU level for infotainment systems, including initial boot, driver integration, and system-level debugging.
- Validation Feature Development: Design, develop, and implement dedicated software features specifically for testing the ECU against its specifications.
- Diagnostic Improvement & Learning: Extract valuable learnings from validation feature development and testing processes to continuously improve and enhance production diagnostics.
- Validation & Testing:
- Stress Testing: Design and implement rigorous stress tests for critical ECU subsystems (CPU, GPU, NPU, Multimedia subsystems) to identify performance bottlenecks, thermal limitations, and ensure system stability under extreme loads.
- Performance Benchmarking: Analyze and optimize ECU system performance, identifying areas for improvement and implementing efficient solutions.
- Manufacturing Software Development: Develop and maintain manufacturing software for End-of-Line (EOL) testing, ensuring quality control and efficient production processes for ECUs.
- Multimedia Subsystem Validation: Validate and optimize camera and display subsystems at the ECU level, from driver integration and middleware validation to user-space application testing, ensuring high-quality multimedia experiences within the infotainment system.
- Collaboration: Work closely with hardware engineers, Validation & Test Automation teams, and other software architects/engineers to ensure seamless ECU integration and delivery of high-quality products.
- Troubleshooting & Debugging: Identify and resolve complex software and hardware issues at the ECU level, utilizing various debugging tools and techniques, with an ability to work across organizations/teams.
- Documentation: Create and maintain comprehensive documentation for software designs, APIs, and test procedures.
- Communication: Clearly communicate with peers, stakeholders, customers, technical leaders, and OEMs/ODMs.
Qualifications
- Minimum Qualifications:
- Bachelor’s or Master’s degree in Computer Science/Engineering or a related field.
- 7+ years' experience in Embedded Software Development.
- Platforms: Strong hands-on experience with high-performance SoCs such as Snapdragon, NVIDIA Orin, MediaTek, or similar platforms. Experience with automotive-grade SoCs is a plus.
- Operating Systems & Virtualization: Proficient in Embedded Linux, QNX, DriveOS, and experience with hypervisor-based systems (e.g., Type-1 hypervisors, Gunyah, ACRN, etc.).
- Domain Expertise:
- Strong background in multimedia development with a focus on camera and/or display subsystems – including driver integration, middleware, and user-space application development.
- Proven experience in ECU-level software development for complex infotainment systems.
- Experience with performance analysis and optimization of CPU, GPU, and NPU workloads.
- Programming Languages: Expert proficiency in C, C++, and Python.
- Good understanding of Linux and/or RTOS fundamentals, Board Support Packages, kernel configuration, device driver interfaces, and debugging tools. Hands-on experience using Lauterbach, Oscilloscope, JTAG, and flashing tools.
- Solid understanding of interface protocol stacks (SPI, I2C, Ethernet, PCIe), and board bring-up. Experience with scripting languages (Python, shell).
- Comfortable and effective working in fast-paced environments such as startups, consumer electronics, or automotive domains, with a proven ability to adapt to evolving requirements.
- Preferred Qualifications:
- Knowledge of OS internals (process scheduler, memory management, concurrency, synchronization, storage).
- Knowledge of hypervisors and virtualization in the automotive industry.
- Experience with ARM cores and architecture.
- Experience in using electronic test equipment for debugging at the hardware level.
- Experience with embedded toolchains (compilers, linkers, linker scripts).
- Experience with automotive communication protocols (e.g., CAN, Ethernet).
- Familiarity with functional safety standards (e.g., ISO 26262).
- Experience with continuous integration and continuous deployment (CI/CD) pipelines for embedded systems.
Benefits
- Competitive base salary and eligibility to participate in the annual company performance bonus program (payments discretionary and based on company results).
- Eligibility for equity in the form of Restricted Stock Units (RSUs), subject to board approval and vesting requirements.
- Comprehensive benefits package including health coverage, retirement savings, time off, and family planning programs (offerings vary by country).
Pay
Compensation range: $186,000 - $255,750