Job Information
Space Exploration Technologies Corp. Sr. Software Engineer, Starlink Ground Stations in Redmond, Washington
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. SR. SOFTWARE ENGINEER, STARLINK GROUND STATIONS At SpaceX we're leveraging our experience in building rockets and spacecraft to deploy Starlink, the world's most advanced broadband internet system. Starlink provides fast, reliable internet to 3M+ users worldwide. We design, build, test, and operate all segments of the network - thousands of ground stations, thousands of satellites, millions of consumer devices 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 Gateway Software Team, you will be solving challenges related to operating and scaling a global network of ground stations. Starlink's ground stations provide reliable communications with our satellites, which allows us to both serve high throughput, low latency internet to users and to operate our satellite constellation. 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 Firmware, embedded and controls software running on custom hardware Infrastructure and tools to enable rapid development and reliable deployment of our code to dynamic production environments 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. 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 and 5+ years of professional experience in software development; OR 7+ years of professional experience in software development in lieu of a degree. Development experience in C++ and 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. Experience 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. Experience with networking protocols (UDP, TCP/IP, etc.). Experience in C++ for high performance systems. Experience with security issues associated with distributed systems