Space Exploration Technologies Corp.
Software Engineer (Starlink Ground Networking)
Space Exploration Technologies Corp., Redmond, Washington, 98052
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 (STARLINK GROUND NETWORKING) At SpaceX, we're leveraging our experience in building rockets and spacecraft to deploy Starlink, the world's most advanced broadband internet system. Starlink is the world's largest satellite constellation and is providing fast, reliable internet to 3M users worldwide. We design, build, test, and operate all parts of the system - thousands of satellites, consumer receivers that allow users to connect within minutes of unboxing, and the software that brings it all together. We've only begun to scratch the surface of Starlink's potential global impact and are looking for best-in-class engineers to help maximize Starlink's utility for communities and businesses around the globe. This position entails creating software to design, develop, launch, and operate a low-latency, high-capacity broadband network. You will engage with other SpaceX engineers to discover the needs of the missions and code highly reliable software that turns the mission into reality. You will be responsible for the complete lifecycle of the software you create, including development, testing, and support. As an engineer here, you will be a critical part of the Starlink network engineering team and help build, secure, and operate a network with global visibility and scale. Engineers on this team manage network deployments and related configurations within the Starlink network and have a significant impact on the service delivered to our customers around the world. RESPONSIBILITIES: Develop highly reliable software solutions that are used across SpaceX Build prototypes to prove key design concepts and quantify technical constraints Own all aspects of software engineering and product development Bring your voice to the table in team collaborations on architecture, design, and code reviews Design and implement highly available, fault-tolerant network automation and monitoring systems that operate for long periods with minimal maintenance at scale Design and implement data collection and ingestion pipeline to empower network reliability and operation tools (network telemetry, failure detection, alert generation, mitigation services, network visualization, etc.) Strong operational and network reliability role focused on building and maintaining the world's most robust, performant, and automated broadband network Linux systems engineering and administration 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++, Python or Go Experience with modern networking protocols, their application and traffic types: (TCP/IPv4/IPv6, voice, video, broadcast, streaming) PREFERRED SKILLS AND EXPERIENCE: Experience with Linux systems engineering and administration Developed, debugged, and deployed software that has been used in real-world applications/projects Experience with security issues associated with distributed systems and large-scale consumer internet services Strong understanding of Docker and Kubernetes, or similar technologies Strong skills in debugging, performance optimization, and unit testing Creative approach to problem-solving, exceptional analytical skills, and engineering fundamentals Strong networking knowledge of TCP/IP Excellent communication skills, both written and verbal ADDITIONAL REQUIREMENTS: Must be able to work extended hours and weekends as needed COMPENSATION AND BENEFITS: