Parallel Systems is looking for a Vehicle Software Engineering Intern to contribute directly to the software development for our next-generation autonomous freight vehicle. You will work in Rust to write embedded software that runs on the vehicle's computers, accelerating prototype bring-up and moving toward production-ready code while helping transform freight transportation with cleaner, safer, and more efficient logistics.
What You'll Do
- Own a specific Mk3 vehicle subsystem end-to-end, from system design through integrated testing on prototype hardware.
- Develop and validate control logic, sensor interfaces, and safety-critical communication protocols for subsystems like braking, drivetrain, fast charging, or vehicle communications.
- Write device drivers and control algorithms for powertrain components including motor controllers, inverters, and gearbox sensor integration.
- Implement software interfaces for hardware, including protocol handling, state machine design, and fault management.
- Build and test inter-node communication interfaces (CAN, Ethernet, serial) that connect the Mk3's distributed computing architecture.
- Develop drivers and data pipelines for onboard sensors used in vehicle health monitoring, telemetry, and operational decision-making.
- Follow a structured engineering lifecycle: requirements gathering, concept review, critical design review, implementation, test plan development, and full-up integrated testing on prototype hardware.
What We're Looking For
- Currently pursuing a degree in Electrical Engineering, Computer Science, Computer Engineering, Robotics, or a related field (rising junior, senior, or graduate student).
- Hands-on experience with real-world embedded systems such as robotics platforms, ground or air vehicle projects, or other sensing and actuating systems.
- Programming experience on microcontrollers with a demonstrated ability to work at the hardware/software interface.
- Track record of successfully working with embedded hardware in real-world settings, whether through coursework, personal projects, clubs, or prior internships.
- Strong problem-solving skills and the ability to debug across hardware and software boundaries.
Nice to Have
- Experience with the Rust programming language.
- Familiarity with communication protocols such as CAN bus, SPI, I2C, UART, or Ethernet in embedded contexts.
Technical Stack
- Rust
- CAN bus
- SPI
- I2C
- UART
- Ethernet
Parallel Systems is an equal opportunity employer.




