Embedded Software Engineer II - Lunar Permanence
Core
Designing, implementing, and verifying embedded software for mission-critical spaceflight communications components and hardware systems.
Role type
Senior embedded software engineer (hardware-heavy, spaceflight systems)
Builds
Communications components for Lunar Vehicles (Blue Moon landers) using FPGA, microcontrollers, and SoC devices
Domain
Aerospace / Spaceflight / Embedded Systems
Deliverable
production ML models | product features
Required skills
Embedded Linux BSP development, C/C++, bare-metal programming, hardware debugging (logic analyzers, oscilloscopes, JTAG), computer architecture (memory buses, cache, DMA), version control (Git), interface protocols (I2C, SPI, UART, TCP/IP, SpaceWire, etc.)
Preferred skills
FPGA development (VHDL, Verilog, SystemVerilog), HW-accelerated functions (encryption, encoding/decoding), DO-178C/NASA certification guidelines, RF hardware testing, kernel and driver development
Technologies
Linux, C, C++, GDB, XSDB, GRMON, Wireshark, Matlab, Python, Git, FPGA, SoC, I2C, SPI, UART, TCP/IP, UDP, GMSL, SpaceWire, CameraLink, Aurora, AXI, AMBA
Responsibilities
Develop Board Support Package (BSP) software and drivers; perform bare-metal or OS-level programming for hardware initialization and control; debug avionics hardware using logic analyzers and JTAG; participate in HW/SW partitioning design reviews; benchmark hardware performance; bring up HW-accelerators in SoC devices; define and implement fault-tolerance strategies; execute test procedures and perform root-cause analysis; develop comprehensive test plans.
Seniority
Senior, hands-on IC