Principal Embedded Software Engineer
Core
Lead the implementation of an onboard classical perception and navigation system for a lunar rover to map terrain and avoid hazards in real time.
Role type
Principal Embedded Software Engineer (Rover Autonomy Lead)
Builds
Autonomous lunar rover systems for NASA science missions
Domain
Spaceflight robotics / Planetary exploration
Deliverable
production ML models | product features
Required skills
C/C++ baremetal development, embedded software architecture, sensor driver development, autonomous safety-critical fault recovery, RTOS multithreaded application development, unit testing frameworks, Git version control, digital communication protocols (Ethernet, USB, CAN, SPI, I2C), electromechanical systems understanding
Preferred skills
Remote mission control with large latency, C2 systems (GDS), vision-based autonomy, Python scripting, vehicle software development, sensor/camera systems, localization
Technologies
C, C++, Python, RTOS, Git, Ethernet, USB, CAN, SPI, I2C
Responsibilities
Lead coding, testing, and validation of vehicle control software; manage software field deployments and provide on-site/remote support; derive and own software system requirements and schedules; evaluate and improve system design for robust autonomy; collaborate with scientists and engineering teams to drive product development from concept to production; write requirements and specification documents
Seniority
Principal, hands-on IC with strategic ownership