Job description
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, C++ SIMULATIONS (STARLINK)
As a C++ Simulation Software Engineer on the Starlink GNC team, you will take a leading role in architecting, refactoring, redesigning, and building high-performance C++ core infrastructure for our in-house vehicle dynamics simulator and additional simulation environments. This includes dispersed Monte Carlo simulations, hardware-in-the-loop (HITL) setups, testing frameworks, support tooling, and GNC-specific data visualization. You will own the design and evolution of the simulation backbone-driving major refactors and new designs that scale performance and capability with our growing constellation-while collaborating on high-fidelity multi-body physics models, environmental perturbations, and vehicle power/propulsion/control hardware representations.
This is a high-impact opportunity for expert C++ engineers who thrive on complex, performance-critical systems (think game engine-level simulation and high-performance computing challenges applied to real spacecraft). You will work across engineering groups to deliver the high-fidelity simulations that enable cutting-edge software and hardware development. SpaceX seeks motivated C++ specialists who love tackling hard technical problems, excel in dynamic environments, and prioritize clean, efficient, maintainable code and software best practices.
RESPONSIBILITIES:
Lead the design, major refactors, redesigns, and ongoing evolution of the core C++ vehicle dynamics simulator and associated testing/support infrastructure for Starlink, ensuring it scales in performance and capability with the constellation.
Architect and improve high-performance C++ Monte Carlo simulation infrastructure, including parallelization, dispersion handling, and reliability for large-scale runs.
Drive development of new simulation features, models, and tooling in collaboration with users-focusing on performance, usability, and extensibility of the C++ core.
Own performance optimization, profiling, continuous integration, unit/integration testing, and reliability improvements across the simulation stack.
Design and implement new testing frameworks, support infrastructure, and visualization components to accelerate GNC development.
Collaborate cross-functionally to accurately model multi-body physics, environmental effects, and hardware behaviors while maintaining rigorous software quality.
BASIC QUALIFICATIONS:
Bachelor's degree in a STEM discipline and 1+ years of software development experience; OR 4+ years of professional software development experience in performant C++ OR numerical simulations
PREFERRED SKILLS AND EXPERIENCE:
Expert-level C++ skills focused on writing performant, simple, and safe code: strong command of the language fundamentals, efficient memory management, multi-threading/concurrency, data-oriented design, and careful performance-oriented implementation (favoring straightforward, low-overhead solutions over complex abstractions or heavy STL use when they compromise speed or safety).
Experience building or optimizing high-performance simulations, physics engines, or real-time systems (e.g., game engines, multi-body dynamics, robotics, or aerospace simulators).
High-performance computing (HPC) background: parallel computing, multi-threading, profiling/optimization tools, scalable architectures, or related techniques (Monte Carlo, distributed sims, etc.).
Strong communication skills and the ability to proactively coordinate with partner teams-essential for success in a role that largely serves and collaborates closely with other engineering groups.
Strong software design and architecture skills, especially for large-scale, maintainable C++ systems; experience leading refactors or redesigns of complex codebases.
Solid foundation in physics and mathematics (dynamics, numerical methods, etc.).
Proficiency in debugging, performance profiling, unit testing, and continuous integration for C++ codebases.
Secondary skills in Python and/or front-end technologies (e.g., JS) for tooling/visualization are a plus.
Creative problem-solving, ability to work independently or in teams, take initiative, and communicate effectively in a fast-paced, evolving environment.
ADDITIONAL REQUIREMENTS:
Willing to work extended hours and weekends when needed.
COMPENSATION AND BENEFITS:
Pay Range:
Level 1: $125,000.00 - $165,000.00
Level 2: $145,000.00 - $200,000.00
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 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 in Washington State accrue paid sick time in compliance with state and federal law. Company shuttles are offered to employees for roundtrip travel from select Seattle locations to the SpaceX Redmond office Monday to Friday.
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.
Prepare your application
Use the description above to assess your fit for SpaceX. This checklist is guidance from Resumize, rather than additional requirements from the employer. Imported listings can be shortened or change after collection, so confirm the complete description and current availability before sending an application.
Match requirements to evidence
Identify the responsibilities and skills the employer explicitly names. For each important requirement, choose one example from your work, education, training, or projects. Explain what you did, how you did it, and what changed as a result. Include a measurable outcome when you can support it. If you lack a requirement, describe related experience accurately instead of adding an unfamiliar skill to your resume.
Put the most relevant examples near the top of your resume. Keep job titles, dates, qualifications, and contact details consistent across your application materials. Use the employer’s terminology when it describes your experience accurately; a copied list of keywords does not explain your contribution. A short, specific bullet is easier to review than a paragraph that mixes several unrelated duties.
Check the working arrangement
Confirm the location, schedule, employment type, and any eligibility requirements on the employer’s site. A remote label does not establish worldwide eligibility or flexible hours. If compensation, benefits, equipment, travel, or contract duration are missing from this listing, write down your questions for the recruiter. Do not assume details from another opening at the same company apply to this role.
Review before submitting
Follow the employer’s requested file format and application instructions. Open your exported resume and check that its text is selectable, its sections read in order, and its links work. Proofread names, dates, and contact information. Share confidential work samples only when you have permission, and use an anonymized example when necessary.
Submit through a trusted employer or recruiting destination. If the original listing has disappeared, search the employer’s careers page for the title rather than assuming the vacancy remains open. Save the application date, job reference, and the version of your resume you sent. Those details help you prepare for a later conversation and avoid submitting conflicting information through several job boards.
Review your resume for writing and readability feedback, or browse other openings if this opportunity is unavailable.