Embedded Software Engineer - Vehicle Software
Overview
As an Embedded Software Engineer, you will build real-time software for bare-metal and RTOS-based systems that control autonomous rail vehicles. You will work closely with hardware and software teams to ensure safe, reliable operations on production hardware. This early-career role focuses on embedded development, hardware–software integration, and hands-on testing. You will contribute to impactful, green freight technology and grow your embedded systems expertise.
ResponsibilitiesDevelop and maintain embedded software for bare-metal and RTOS-based systemsImplement and test digital communication protocols such as SPI, I2C, UART, and CANContribute to state machines and command/control software for autonomous vehicle systemsWrite memory-conscious embedded software, primarily in RustCollaborate with hardware engineers to integrate, debug, and validate hardware–software interfacesDevelop unit and integration tests for embedded software using hardware test standsDebug software using standard embedded development tools and techniquesParticipate in code reviews, design discussions, documentation, and continuous improvement of engineering practices
Key requirementsBachelor's degree in Computer Engineering, Electrical Engineering, Computer Science, Robotics, or related technical field, or equivalent practical experienceExperience programming in C, C++, Rust, or another systems programming languageFamiliarity with embedded systems, microcontrollers, or real-time software developmentUnderstanding of SPI, I2C, UART, or CANFamiliarity with state machines, interrupts, memory management, and hardware interfacesHands-on experience debugging technical systems through academic projects, internships, student teams, personal projects, or professional workStrong problem-solving skills and an interest in working directly with hardwareWillingness to learn Rust and modern embedded software development practicesStrong problem-solvingWillingness to learn and grow in embedded RustInterest in hardware and hands-on workRust (production-focused embedded software)C/C++ (systems programming)Embedded systems experience (bare-metal/RTOS)