About the role
Muon seeks a Staff Software Engineer to join our flight software team. The ideal candidate is an expert software developer with significant previous experience architecting and building robust bare-metal / RTOS embedded devices or appliances. In this role, you will both set architectural direction for, and lead design, development, integration, and testing of much of the software and firmware that runs on our orbiting satellites. This position is based at our San Jose, CA office.
Responsibilities
Leading member of the team defining and building Muon's satellite bus platform Define and architect design and execution against the basic concepts and requirements of our missions to get the write software and firmware on orbit Design, bring up, and support the embedded software environment that runs in our satellite flight systems and peripherals using ARM Cortex-M CPUs Guide evaluation and selection of technologies for our software foundation Write application, platform, and driver functionality in our flight software environment and set the standards for how others use it Build the architectural patterns, shared libraries, services and technical strategy documents that enable high-quality and high-velocity development of flight software Integrate compute and peripheral subsystems in both software and hardware Collaborate with hardware team members on the design and bring up of Muon hardware Align team roadmaps with product requirements and mission needs Define metrics aligned with critical company goals and enable the team to achieve aggressive goals Ensure effective software and hardware-in-the-loop test strategies Mentor senior engineers
Qualifications
B.S., M.S., or Ph.D. in computer science, electrical engineering, or related field 10+ years experience as a software engineer in a team environment Strong C/C++ programming, with practical familiarity of other languages Great embedded systems fundamentals: distributed system architecture, resource-efficient design, low-level drivers, bit manipulation, responsive software and IRQ handling, RTOS frameworks, I/O and communication buses Integration and control of external hardware devices Read and understand hardware data sheets Excellent communication and presentation skills
Nice-to-have Skills
Experience working in flight software or some closely related domain Rust and Python experience Knowledge of industry-standard data formats and schemas (ProtoBuf, YAML, JSON, etc) Familiarity with a Linux-based development environment Experience with one or more of: embedded linux, FPGA, HW design, RF communication systems, cloud/server infrastructure, network architecture End-to-end development from product concept to delivery to customer/market
Salary
The salary range for this role is $240,000 - $270,000, plus a competitive equity grant and comprehensive benefits package. Final compensation will be determined based on skills, qualifications, experience, and geographic location as assessed during the interview process.