Muon seeks a Staff Software Engineer to join their flight software team to architect and build robust bare-metal / RTOS embedded devices or appliances for their orbiting satellites.
Requirements
- 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
- 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.
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
Other
- B.S., M.S., or Ph.D. in computer science, electrical engineering, or related field
- 12+ years experience as a software engineer in a team environment
- Excellent communication and presentation skills
- U.S. person, defined as a (i) U.S. citizen or national, (ii) U.S. lawful, permanent resident (green card holder), (iii) refugee under 8 U.S.C. § 1157, or (iv) asylee under 8 U.S.C. § 1158
- Must be eligible to access export controlled information