SpaceX is looking to develop technologies to enable human life on Mars, and the Starshield team is building highly reliable in-space mesh networks and secure systems to guarantee access to space.
Requirements
- Development experience in C or C++
- Experience with embedded systems (e.g. STM32, Arduino, or similar microcontrollers) and low level firmware development
- Strong knowledge of linux internals including core platform and user-space application development/debugging
- Experience designing fault tolerant, distributed, or real-time systems
- Cross-context test design skills, ranging from simple unit tests through to integrated hardware-in-the-loop regression and exploratory tests
- Knowledge of computer architecture and networks
Responsibilities
- Develop highly reliable autonomous software systems, and the full suite of testing needed to ensure their resilience, fault tolerance, and correctness
- Design software for both vehicles flying in space, and the ground systems that support them
- Build prototypes and analyze system metrics to prove out key design concepts and quantify technical constraints
- Own all aspects of software development, including design, testing, release, and flight operations
- Provide strong technical leadership, focus on continuous improvement
Other
- Bachelor's degree in computer science, engineering, math, or scientific discipline; OR 2+ years of professional experience in software development in lieu of a degree
- Must be willing to work extended hours and weekends as needed
- Note that an active clearance may provide the opportunity for you to work on sensitive SpaceX missions; if so, you will be subject to pre-employment drug and random drug and alcohol testing
- 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
- Ability to work effectively in a dynamic environment with changing needs and requirements