Software Engineer (Starshield)
Role summary
SpaceX's Starshield team is seeking versatile Software Engineers to build highly reliable, secure, and autonomous in-space mesh networks for national security efforts. This role involves the full software lifecycle, from design and development to testing and on-orbit deployment, focusing on satellite constellation performance, security, and availability. Engineers will work with interdisciplinary teams on next-generation satellite capabilities, including sensors and space-based cloud compute. The position requires strong C++ development skills on Linux, experience with networking technologies, CI/CD, and robust testing methodologies. A Bachelor's degree in a relevant field or equivalent experience is required, along with the ability to obtain a Top Secret SCI clearance.
SpaceX was founded under the belief that a future where humanity is out exploring the stars is fundamentally more exciting than one where we are not. Today SpaceX is actively developing the technologies to make this possible, with the ultimate goal of enabling human life on Mars.
SOFTWARE ENGINEER (STARSHIELD)
Starshield leverages SpaceX’s Starlink technology and launch capability to support national security efforts. While Starlink is designed for consumer and commercial use, Starshield is designed for government use, with an initial focus on earth observation, communications, and hosted payloads.
The Starshield software team is building highly reliable in-space mesh networks, designing secure systems to guarantee access to space, designing next-gen communication and sensing software, and more. Aerospace experience is not required to be successful here - we want our engineers to bring fresh ideas from all areas. We look for engineers who love solving problems and seek to make an impact on an inspiring mission. As we expand this team, we're looking for versatile, motivated, and collaborative engineers.
Our team is involved in designing the vehicle systems at every phase of development. We build tools that enable us to work more efficiently, and that help us build software systems that are secure, reliable, and autonomous. Our software engineers are responsible for the life cycle of the software they create, including development, testing, and operational support.
Responsibilities
- Create highly reliable software systems that control hundreds of satellites in low earth orbit
- Leverage software design to improve satellite constellation performance, security, and availability to meet the needs of a wide range of users
- See your software through from start to finish: from figuring out the core needs to prototyping, developing, and testing; to on-orbit rollout and beyond
- Work with interdisciplinary teams to brainstorm, design, and build the next generation of satellite capabilities, from cutting-edge sensors and inter-satellite lasers to space-based cloud compute
Responsibilities
There are several roles within the Starshield software team with different focus areas. Applicants will interview for specific focus areas based on hiring needs and qualifications. Specific role responsibilities may include:
- Write high quality Linux-based C++ software for common processors and micro controllers (e.g. ARM, PowerPC, x86, etc.)
- Implement networking technologies to direct data across a variety of satellites, ground operations centers, and users
- Build automated ground-based software systems that integrate smart data processing with command and control of the satellites
- Develop models and simulations for flight-like vehicle software testing, network performance analysis, or research & development projects
- Develop tools that allow for test execution across multiple environments: virtualized hardware, real hardware-in-the-loop, and even vehicle-in-the-loop testing
- Invent new systems that enable more frequent and reliable software deployment, test execution, and data analysis as part of a continuous integration and release system
Basic Qualifications
- 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
- Development experience in C, C++, or Python or full stack software development experience
Preferred Skills And Experience
- Developed and deployed software that has been used real-world applications and projects
- Solid fundamental knowledge of computer architecture and networks
- Strong skills in debugging, performance optimization and unit testing
- Ability to work effectively and creatively in a dynamic environment with changing needs and requirements
- Ability to work independently and in a team, take initiative, and communicate effectively
- Ability to obtain and maintain a Top Secret or Top Secret SCI clearance
Some preferred skills and experience depend on the specific team within flight software and may include:
- Experience with networking protocols (TCP, UDP, etc)
- Experience developing in the Linux kernel
- Experience in C++ for high performance systems
- Experience with image data processing and machine learning
- Strong background in math and physics
Additional Requirements
- This position requires successfully obtaining and maintaining a Top Secret Security Clearance as a condition of employment. While the clearance may not be immediately necessary upon hire, we encourage you to initiate the application process promptly upon accepting this offer. Your ability to secure the necessary clearance is essential for fulfilling key responsibilities of the role. Should you be unable to obtain it, SpaceX reserves the right to modify or terminate your employment to align with operational needs
- Must be willing to work extended hours and weekends as needed
Compensation And Benefits
Pay Range:
Software Engineer/Level I: $125,000.00 - $145,000.00/per year
Software Engineer/Level II: $145,000.00 - $175,000.00/per year
Your actual level and base salary will be determined on a case-by-case basis and may vary based on the following considerations: job-related knowledge and skills, education, and experience.
Base salary is just one part of your total rewards package at SpaceX. You may also be eligible for long-term incentives, in the form of company stock, stock options, or long-term cash awards, as well as potential discretionary bonuses and the ability to purchase additional stock at a discount through an Employee Stock Purchase Plan. You will also receive access to comprehensive medical, vision, and dental coverage, access to a 401(k) retirement plan, short and long-term disability insurance, life insurance, paid parental leave, and various other discounts and perks. You may also accrue 3 weeks of paid vacation and will be eligible for 10 or more paid holidays per year. Employees accrue paid sick leave pursuant to Company policy which satisfies or exceeds the accrual, carryover, and use requirements of the law.
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. Learn more about the ITAR here.
SpaceX is an Equal Opportunity Employer; employment with SpaceX is governed on the basis of merit, competence and qualifications and will not be influenced in any manner by race, color, religion, gender, national origin/ethnicity, veteran status, disability status, age, sexual orientation, gender identity, marital status, mental or physical disability or any other legally protected status.
Applicants wishing to view a copy of SpaceX’s Affirmative Action Plan for veterans and individuals with disabilities, or applicants requiring reasonable accommodation to the application/interview process should reach out to EEOCompliance@spacex.com
*.*
Sample SpaceX interview questions
- 1
Build a distributed platform for storing and serving digital assets.
system designmedium - 2
Develop a web app that shortens URLs like TinyURL.
system designmedium - 3
Propose a high-level design for a tracing system that can handle millions of spans per second across thousands of services.
system designmedium - 4
Iterator over a Binary Search Tree Implement an iterator over a binary search tree. Input: root = [7,3,15,null,null,9,20], calls: next(), hasNext(), next() Output: 3, TRUE, 7 Explanation: The iterator yields the smallest value (3), confirms more nodes exist, then properly yields the next in-order value (7).
codingmedium - 5
Count Anagrammatic Substrings Count the number of anagrammatic substrings from one string present in another. Input: s = "abab", p = "ab" Output: [0, 1, 2] Explanation: The substrings "ab", "ba", and "ab" starting at indices 0, 1, and 2 respectively are all anagrams of the string "ab".
codingmedium
Sign up for a personalized interview prep pack tailored to this role.