Logo
Space Exploration Technologies Corp.

Software Engineer, Starlink Network

Space Exploration Technologies Corp., Redmond, Washington, United States, 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 NETWORK 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 5M+ 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. As a Software Engineer on the Starlink program, you will be solving challenges underpinning ever aspect of the program's growth. The areas you could have an impact on could include, but are not limited to, building: Next generation networking technologies to direct data through an ever-changing network of satellites, ground stations, and users. Infrastructure and tools to enable rapid development and reliable deployment of our code to dynamic production environments. Measurement system software and hardware, supporting our in-house RF Silicon designs. Our software engineers are responsible for the complete lifecycle of the software they create, including development, testing, and support. RESPONSIBILITIES: Develop highly reliable and available software systems for our low latency, high capacity satellite-based global software defined network. Design and implement highly available, fault-tolerant network that operates for long periods of time with minimal maintenance at scale. Participate in architecture, design, and code reviews. Develop prototypes to prove out key design concepts and quantify technical constraints. Collaborate with other engineers to plan and organize the development of our products. There are several sub-teams within Starlink software with different focus areas. Applicants will interview for specific teams based on hiring needs and qualifications. Specific team responsibilities might include: Write high quality Linux based software for common processors and microcontrollers (e.g. ARM, PowerPC, x86, etc.) Invent new tools that enable more frequent and reliable software deployment, test execution, and data analysis as part of a continuous integration and release system. Develop tools that allow for test execution across multiple environments: virtualized hardware, real hardware-in-the-loop simulations, and on-orbit testing. 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 python. PREFERRED SKILLS AND EXPERIENCE: Developed, debugged and deployed software that has been used in real world applications/projects. Creative approach to problem solving, exceptional analytical skills and engineering fundamentals. Solid fundamental knowledge of networks, electronics, math, and physics. Strong skills in debugging, performance optimization, and unit testing. Excellent communication skills both written and verbal. Ability to work effectively in a dynamic environment with changing needs and requirements. Some preferred skills and experience depend on the specific team within Starlink software, and may include: Experience with networking protocols (UDP, TCP/IP, etc.) Experience in C++