Senior Software Engineer, Flight Software
About the role
Muon seeks a Flight Software Engineer to join our satellite flight software team. The ideal candidate is a self-motivated versatile software developer with significant previous experience developing robust bare-metal / RTOS embedded devices or appliances. In this role, you will design, develop, integrate, and test the software and firmware that runs on our orbiting satellites. This position is based at our San Jose, CA office.
Responsibilities
Integral member of the team defining and building Muon’s satellite bus platform
Translate concepts and requirements into design and working implementations, supporting through to on-orbit operations
Design, bring up, and support the embedded software environment that runs in our satellite flight systems and peripherals using ARM Cortex-M CPUs.
Participate in evaluating and selecting technologies for our software foundation
Write application, platform, and driver functionality in our flight software environment and teach others how to use it
Integrate compute and peripheral subsystems in both software and hardware
Collaborate with hardware team members on the design and bring up of Muon hardware
Collaborate with software team members to set flight software architecture, select infrastructure and tools, and communicate with cloud backends.
Participate in developing software and hardware-in-the-loop test strategies
Qualifications
B.S., M.S., or Ph.D. in computer science, electrical engineering, or related field
8+ years experience as a software engineer in a team environment
Strong C/C++ programming, with some practical familiarity of other languages
Great embedded systems fundamentals: 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
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 $184,000 - $208,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.