Application Software Engineer
SpaceX
About the Role
The application software team is the central nervous system of SpaceX, creating mission-critical applications that accelerate launch vehicle production and flight, as well as systems that enable Starlink's growth into a worldwide, fast, reliable Internet service. This role involves creating and evolving systems for rapid build and reuse of Starship, designing next-generation manufacturing software for high-throughput factories, and developing platforms for data streams from assets and public-facing systems for the Starlink network. You will work closely with engineers across the company on systems for crewed launches, Starship flights, and Starlink network changes. Aerospace experience is not a requirement; smart, motivated, respectful, and collaborative engineers who enjoy solving problems and making an impact are sought. You will have full ownership of challenging problems and work with a diverse team to design and produce solutions at a rapid pace. The success of SpaceX missions depends on the software produced.
Key Responsibilities
- Develop highly reliable software solutions used across SpaceX.
- Create new applications to improve SpaceX operations.
- Build prototypes to prove key design concepts and quantify technical constraints.
- Own all aspects of software engineering and product development.
- Deep dive into user problems to find and create efficient solutions.
- Contribute to team collaborations on architecture, design, and code reviews.
Requirements & Tech Stack
- Basic Qualifications
- Bachelor's degree in computer science, engineering, math, or a scientific discipline; OR 2+ years of professional experience building software in lieu of a degree.
- 1+ years of experience in full stack development.
- Preferred Skills And Experience
- Programming experience in Python, C#.NET, Go, Scala, Java, or similar object-oriented language.
- 1+ years of rigorous experience building single page web applications.
- Experience with version control, continuous integration, and continuous delivery concepts.
- Expertise in designing software systems.
- Deep understanding of testing, continuous integration, build, deployment, and monitoring.
- Expertise in profiling and improving application performance.
- Experience with build systems (Make, Bazel/Pants/Buck, Gradle) and package management tools (pip, npm).
- Experience with UNIX-like operating systems and tools like Terraform, Ansible, Puppet for managing them.
- Experience working with in-stream data processing using Apache Kafka, RabbitMQ, ActiveMQ, or similar technologies.
- Production experience with Docker and Kubernetes.
- Front-end experience in Angular, React, or similar JavaScript framework.
- Database experience with PostgreSQL, SQL Server, or similar database technologies.
Additional Requirements
- May be asked to work extended hours/weekends dependent on launch cadence.
- This role requires you to be onsite. Remote and/or hybrid work will not be considered.
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.