Embedded Software Engineer - Vehicle Software
Core
Develop embedded software for autonomous battery-electric rail vehicles, interfacing directly with hardware components, sensors, and control systems to support safe and reliable vehicle operations.
Role type
Early-career embedded software engineer (autonomous rail systems)
Builds
Real-time software for autonomous rail vehicles
Domain
Autonomous freight transportation / Embedded systems
Deliverable
production ML models | product features
Required skills
C, C++, Rust, embedded systems programming, digital communication protocols (SPI, I2C, UART, CAN), state machines, memory management, hardware-software integration, unit and integration testing, debugging technical systems
Preferred skills
bare-metal or RTOS-based development, experience with oscilloscopes/logic analyzers/debuggers, robotics or autonomous systems experience, control systems (PID controllers), electrical engineering coursework
Technologies
Rust, C, C++, RTOS, SPI, I2C, UART, CAN
Responsibilities
Develop and maintain embedded software for bare-metal and RTOS-based systems; Implement and test digital communication protocols; Contribute to state machines and command/control software; Write reliable, memory-conscious embedded software; Integrate, debug, and validate hardware-software interfaces; Develop unit and integration tests using hardware test stands
Seniority
Junior, hands-on IC