Flight Software Engineer (Starlink Mobile)
SpaceX
About the Role
Flight Software is where all disciplines at SpaceX come together. As flight software engineers, we are fully responsible for our spacecraft from cradle to fiery grave: for turning an idea, then a collection of parts, into a living, breathing, spacecraft. We work closely with electrical, mechanical, RF, thermal, propulsion, and guidance and control engineers to design, build, and fly some of the most sophisticated spacecraft in the world at a scale no-one else approaches. We own the full stack from the bare metal microcontroller firmware that drives our custom silicon, to Linux kernels and drivers on our larger CPUs and FPGAs, to the realtime phased array control, network control, and vehicle control that flies our satellites. We are a small, tight-knit team with a relentless focus on speed, simplicity, reliability, and performance. To succeed in this role you must be a technically excellent first-principles problem solver, a passionately curious self-starter with a love for solving hard problems quickly, simply, and permanently in high-impact situations.
Key Responsibilities
- Develop mission critical control software to fly thousands of spacecraft in one of the harshest environments known to man.
- Develop cutting edge RF software to drive some of the most advanced phased arrays in existence.
- Develop high performance network software to turn thousands of nodes hurtling around Earth at Mach 20 into the world's largest mobile network.
- Own your work end-to-end from prototyping and design through implementation, test, deployment, and support.
Requirements & Tech Stack
- Basic Qualifications:
- Bachelor’s degree in electrical engineering, computer engineering, computer science, or other engineering, math, or science discipline.
- Experience in C, C++, Rust, or other low-level systems programming language.
- Preferred Skills And Experience:
- Experience writing bare-metal software for embedded devices.
- Experience writing Rust, C, or C++ in a production environment.
- Experience with network protocols, operating systems, and compilers.
- Experience owning software through design, development, testing, and deployment.
- Ability to work effectively in a dynamic environment with rapidly changing needs and requirements.
- Excellent written and verbal communication skills.
- Extreme curiosity and a burning desire to push systems to the physics limit of simplicity and performance.
ITAR Requirements
- To conform to U.S. Government export regulations, applicant must be a (i) U.S. citizen or national, (ii) U.S. lawful, permanent resident (aka green card holder), (iii) Refugee under 8 U.S.C. § 1157, or (iv) Asylee under 8 U.S.C. § 1158, or be eligible to obtain the required authorizations from the U.S. Department of State.