Software Engineer (Application Software)
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, and systems that enable Starlink to grow into a worldwide fast, reliable Internet service. The team is currently creating and evolving systems for rapid build and reuse of Starship, and designing the next generation manufacturing software for high throughput factories for Starlink. Other applications include platforms for concurrent data streams from many always-on assets to manage the world’s largest satellite constellation, and public-facing systems for customers to join the Starlink network globally.
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 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.
- 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.