Embedded Software Engineer, Data Center Engineering (Starmind)
Builds reliable real-time embedded software (C/C++) to autonomously manage SpaceX's large GPU training clusters — from firmware, baseboard controllers, and switches to cluster networking — and develops automated hardware test environments alongside mechanical, electrical, and optical engineers.
- Compensation
- Not disclosed
- Location
- Bastrop, TX
- Work setup
- Not specified
- Seniority
- Intern
- Employment
- Internship
- Experience
- 2+ years
- Category
- Embedded
- Posted
Skills
Must have
- Bachelor's degree in computer science, engineering, math, or science discipline; OR 2+ years of professional software development experience in lieu of a degree (internship experience applicable)
- Development experience in C, C++, or assembly
- Experience with application development and distributed systems architecture in a Linux environment
- Ability to work extended hours or weekends as needed for mission critical deadlines
- Ability to travel up to 30% to support on-site testing
- Must meet ITAR eligibility: U.S. citizen or national, U.S. lawful permanent resident, refugee, or asylee, or be eligible to obtain required U.S. Department of State authorizations
Nice to have
- Strong first-principles problem-solving skills and focus on designing bug-free, maintainable software
- Strong professional experience writing C, C++ or assembly in a production environment
- Developed, debugged and deployed software used in real world hardware applications/projects, especially high performance computing infrastructure
- Creative approach to problem solving, exceptional analytical skills and engineering fundamentals
- Excellent written and verbal communication skills
- Ability to work effectively in a dynamic environment with changing needs and requirements
- Experience with networking protocols (UDP, TCP/IP, etc.) and distributed systems
- Experience with security issues associated with distributed systems and internet services
Full 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.
EMBEDDED SOFTWARE ENGINEER, DATA CENTER ENGINEERING (STARMIND)
The Data Center Engineering team designs training and inference compute clusters from first principles, pushing thermal, electrical, and optical systems to the limit of physics. We operate as a highly cross disciplinary team comprised of mechanical, electrical, optical, and software engineers, all working to maximize the efficiency, reliability, and deployment speed of terrestrial computing to serve rapidly scaling demand.
As an Embedded Software Engineer on our team, you will design, validate, and ship code that reliably and autonomously manages hundreds of thousands of coherently connected GPUs. Your software will span the entire hardware stack from individual firmware ICs up through cluster aggregation networking, ensuring our compute fabric operates at peak efficiency and gracefully handles various fault conditions. To empirically define the limit of physics in our computing hardware, you will also work closely with mechanical, electrical, and optical engineers to develop automated hardware test environments for thermal, radiation, and power testing.
RESPONSIBILITIES:
- Develop highly reliable, real-time software designed to run on compute tray host systems, baseboard management controllers, network switches, and peripheral rack hardware.
- Participate in and lead architecture, design, and code reviews.
- Develop prototypes and manage experiments to prove out key design concepts.
- Develop tools for software development and deployment, data analysis and visualization, and test execution across multiple environments, including hardware-in-the-loop regression testbeds and in-field testing.
- Deploy reliable software, 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 science discipline; OR 2+ years of professional experience in software development in lieu of a degree (internship experience is applicable).
- Development experience in C, C++, or assembly.
- Experience with application development and distributed systems architecture in a Linux environment.
PREFERRED SKILLS AND EXPERIENCE:
- Strong first-principles problem-solving skills and a focus on designing bug-free, maintainable software;
- Strong professional experience writing C, C++ or assembly in a production environment.