Software Engineering Intern (Embedded, Backend, Fullstack)
Parallel Systems is pioneering autonomous battery-electric rail vehicles designed to transform freight transportation by shifting portions of the $900 billion U.S. trucking industry onto rail. Our innovative technology offers cleaner, safer, and more efficient logistics solutions. Join our dynamic team and help shape a smarter, greener future for global freight.
Software Engineering Interns
Parallel Systems is seeking Software Engineering Interns to help build the software that runs our vehicles and the platform behind our fleet. This is a hands-on role for someone who wants to ship real work. Your code will run on prototype vehicles, on test benches, or in the services and tools our team and operators rely on every day.
Interns are placed on a vehicle software or backend/full-stack project based on their background and team priorities. You will own a scoped project from requirements through delivery, work closely with a mentor, and see your work tested on real hardware or used by real users.
The right person is curious beyond their own layer. Whether you are writing firmware, building a service, or shipping an internal tool, you will learn how software, hardware, and vehicle data fit together, and you will be comfortable debugging across those boundaries.
What You Will Work On
You will contribute to a specific project scoped to team priorities. Example areas include:
- Vehicle control software: writing and testing code for braking, drivetrain, actuators, and power systems on microcontrollers or embedded Linux
- Vehicle communications: developing and validating interfaces across CAN, Ethernet, SPI, I2C, or UART, including bench debugging
- Sensor and diagnostics integration: bringing up onboard sensors and devices used for telemetry, health monitoring, and vehicle operation
- Fleet and telemetry services: building services and data pipelines that ingest, store, and serve data from vehicles in the field
- Fleet operations tools: building APIs and web applications used to monitor, dispatch, and manage vehicles
- Developer and test infrastructure: improving CI/CD, simulation, hardware-in-the-loop testing, deployment, and observability for the software team
Regardless of project, you will work through a structured engineering lifecycle: requirements review, design, implementation, testing, and documentation of results.
What to Expect
- Weeks 1-2: Onboarding, vehicle and software platform architecture overview, development environment setup, lab and shop orientation, codebase familiarization, and a first starter task
- Weeks 3-4: Project assignment, review of requirements and interfaces, and initial design and debugging work with your mentor
- Weeks 5-7: Core implementation, testing on the bench or in staging, and iteration through code and design reviews
- Weeks 8-10: Integration onto prototype vehicles or into production systems, test execution, issue investigation, and participation in team design reviews
- Weeks 11-12: Final validation and handoff, documentation of findings and recommended next steps, and a presentation of results to the broader engineering team
Progress will be tracked through weekly check-ins with your mentor, design and code reviews, and feedback from the broader engineering team.
Basic Requirements
- Currently pursuing a degree in Computer Science, Computer Engineering, Electrical Engineering, Robotics, Mechatronics, or a related field
- Hands-on software experience through internships, student teams, research, coursework, or personal projects
- Strong programming skills in at least one language such as Rust, C, C++, Python, Go, or TypeScript
- A track record of building software that works in the real world, not only in class assignments or simulation
- Strong problem-solving skills and the ability to debug issues across system boundaries
- Clear communication, and comfort asking questions and sharing progress early
- Excitement about working in a hands-on, hard-tech environment where software meets physical vehicles
Preferred Qualifications
- Experience with Rust, C, or C++ on microcontrollers or embedded Linux
- Familiarity with communication protocols such as CAN, SPI, I2C, UART, or Ethernet
- Experience building APIs, distributed services, data pipelines, or full-stack web applications
- Familiarity with databases, cloud infrastructure, containers, or CI/CD
- Exposure to RTOS environments, simulation, or hardware-in-the-loop testing
- Experience bringing up sensors, actuators, motor controllers, or other real electromechanical systems
- Experience from hands-on extracurricular engineering teams such as Formula SAE, Baja SAE, robotics, rocket club, solar car, autonomous systems teams, or similar
- Strong documentation habits and attention to detail
Please note the hourly range in the job posting reflects the new hire hourly range across levels that would be applicable to the position. Final compensation will be commensurate with the candidate’s final level. Also, this range represents base compensation only and does not include equity or benefits, if applicable.
Parallel Systems is an equal opportunity employer committed to diversity in the workplace. All qualified applicants will receive consideration for employment without regard to any discriminatory factor protected by applicable federal, state or local laws. We work to build an inclusive environment in which all people can come to do their best work.
Parallel Systems is committed to the full inclusion of all qualified individuals. As part of this commitment, Parallel Systems will ensure that persons with disabilities are provided reasonable accommodations. If reasonable accommodation is needed to participate in the job application or interview process, to perform essential job functions, and/or to receive other benefits and privileges of employment, please contact your recruiter.