SpaceX Senior Embedded Software Engineer at SpaceX working on OS/Platform for Starlink satellites. Responsible for developing and maintaining software from boot loaders to business logic on Linux-based spacecraft and ground components.
Responsibilities
Maintain and update in house branches of OSS software such as Linux, Buildroot, and u-boot.
Support secureboot and runtime security of all Linux based satellite components.
Maintain the spacecraft Ethernet network and connectivity.
Develop, deploy and test spacecraft software update process.
Support in-house System on Chip and peripheral through the life-cycle of the part.
Support OS/Platform specific test infrastructure.
Development and support device drivers for third party and in-house components.
Be the first software team to receive new satellite components.
Interface with Silicon, Electrical, and Application Software Engineers to bring hardware from prototype stage to on on-orbit operations.
Qualification
Bachelor’s degree in computer scienceDevelopment experience in CExperience with ARM embedded systemsDeep understanding of testingCreative approach to problem solvingStrong skills in debugging
Required
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++, python and/or rust.
Preferred
Linux Kernel Up streamed patches preferred.
Knowledge of networking and Linux networking stack.
Good knowledge of computer architecture and modern secure boot flows.
Experience with ARM embedded systems.
Deep understanding of testing, continuous integration, build, deployment & continuous monitoring.
Creative approach to problem solving, exceptional analytical skills and engineering fundamentals.
Strong skills in debugging, performance optimization, and unit testing.
Excellent communication skills both written and verbal.