The Role
You will be responsible for simulating and verifying the software used to fly and orchestrate the behavior of some of the largest satellites that have ever been flown, using both hardware-in-the-loop and hardware-out-of-the-loop testing. Where needed, you will be able to step into different parts of the software stack to drive solutions end-to-end and even make changes to vehicle control software.
In your first 6 months you will generalize simulation software architecture to allow testing and designing multiple spacecraft, demonstrating robust performance in demanding missions. In your first year you will design many-agent simulations and design tools for operating entire constellations of satellites, informing critical company decisions.
Responsibilities
- Create and maintain simulation software infrastructure for our 20kW+ spacecraft
- Develop physics-based software models of spacecraft subsystems, including propulsion, attitude control, power, and communications systems.
- Perform analyses of constellation capabilities and performance to support business and engineering decisions, including network coverage and beam planning.
- Create and utilize robust tools to allow for rapid deployment of quality code.
- Perform data analysis and anomaly investigation to identify and resolve on-orbit problems.
- Support integration and testing of spacecraft subsystems.
Qualifications
- Bachelor's degree in physics, aerospace/mechanical/electrical engineering, computer science, math, or a STEM field or 3+ years of professional experience in software engineering or relevant professions
- Development experience in Rust, C++, or similar compiled language
- Experience using scientific Python (NumPy, SciPy, etc.), Julia, MATLAB, or similar
- Coursework or experience in numerical methods, ordinary differential equations, and mechanics
Nice to Have
- 3+ years of professional experience in software engineering
- Master's or PhD in physics, aerospace engineering, or a STEM field
- Experience working in Rust production environments
- Experience defining and creating simulation systems
- Experience with Monte Carlo simulations and probability/statistics
- Experience with linear algebra, controls, and/or orbital mechanics
- Basic knowledge of electronics, Linux, and computer architecture
- Experience with space communication modeling (RF, ground stations)
- Experience with continuous integration and continuous delivery systems
Compensation and Benefits:
- Base salary range for this role is $123,000 - $200,000 + equity in the company
- Salary will be based on several factors including, but not limited to: knowledge and skills, education, and experience level
- Comprehensive benefits package including paid time off, medical/dental/vision/ coverage, life insurance, paid parental leave, and many other perks