Software Engineering Intern
Rivian and Volkswagen Group Technologies
About Rivian and Volkswagen Group Technologies
Rivian and Volkswagen Group Technologies is a joint venture focused on the future of automotive technology, including operating systems, zonal controllers, cloud, and connectivity solutions for electric vehicles.
Role Summary
As an Embedded Platforms intern, you will design, implement, and debug core software for ECUs and embedded Linux or RTOS environments. You will contribute to software for verification and board bring-up on next-generation vehicle platforms.
Specific Project Areas (Vary By Team)
- Bring-up of new ECUs and development boards, including drivers, bootloaders, and board support software.
- Implementation and optimization of Hardware Abstraction Layers (HALs).
- Development on embedded Linux or Android platform components.
- Development and benchmarking of Real-Time Operating System (RTOS) kernel features.
- Building security firmware features such as secure boot or cryptographic services.
- Development of camera and imaging software on embedded hardware.
- Writing automated tests and CI integrations for platform software validation.
Key Responsibilities
- Design, develop, and deploy embedded software on Linux, Android, or RTOS for electronic hardware.
- Contribute to the implementation and optimization of HALs for vehicle hardware interaction.
- Debug and troubleshoot issues at the firmware, driver, and board level.
- Collaborate with cross-functional teams on software initiatives.
- Document work and present progress to the team.
Requirements & Tech Stack
- Proficiency in C or C++.
- Experience with scripting languages such as Python, Shell, or Go.
- Coursework or project experience in embedded software development.
- Understanding of RTOS fundamentals.
- Familiarity with embedded Linux environments.
- Familiarity with kernel-level development or automotive communication protocols.
- Experience with interface protocols such as CAN, Ethernet, SPI, or I2C.
- Interest in automotive systems and applications.
Qualifications
- Currently enrolled in a Bachelor's or Master's program at an accredited US university.
- Actively pursuing a degree in Computer Science, Computer Engineering, Electrical Engineering, or a closely related technical field, with intent to return to school after the internship.