Embedded Software Engineer, OS/Platform
Job description
About the role
This position is centered on the Starlink program, concentrating on the software architecture that supports a large satellite constellation delivering service to over 9 million users. The role holder will manage the complete lifecycle of platform software, guiding it from the initial hardware bring-up phase through to on-orbit operations for both spacecraft and ground infrastructure components. You will be responsible for maintaining and updating core software stacks such as Linux, Buildroot, and u-boot within internal branches. Security is a critical aspect of this position, requiring implementation and maintenance of secureboot and runtime security measures for satellite components. A significant portion of the work involves overseeing spacecraft Ethernet networking and overall connectivity to ensure reliable communication. You will also create and deploy robust software update processes that are essential for spacecraft operations and longevity. Furthermore, the role includes developing and maintaining the OS/Platform test infrastructure to validate software integrity. Collaboration is key as you work with Silicon, Electrical, and Application Software teams to transition hardware prototypes successfully into orbit. This position demands ownership of the entire software stack, ensuring reliability and performance in the harsh environment of space.
Key facts
What you'll do
- Assume ownership of internal branches for Linux, Buildroot, and u-boot, applying updates and managing version control.
- Implement and maintain secureboot mechanisms and runtime security protocols to protect satellite components from threats.
- Oversee spacecraft Ethernet networking infrastructure and manage connectivity issues to ensure seamless data flow.
- Create and deploy automated software update processes that are reliable and efficient for spacecraft systems.
- Support the full lifecycle of in-house System on Chip devices and peripheral hardware, from integration to decommissioning.
- Develop and maintain comprehensive OS/Platform test infrastructure to catch regressions and validate functionality.
- Write, debug, and support device drivers that interact with both proprietary and third-party hardware components.
- Collaborate closely with Silicon, Electrical, and Application Software teams to resolve issues and transition hardware from prototypes to orbit.
- Analyze complex software problems on satellite platforms and devise solutions that meet stringent reliability standards.
- Ensure all software artifacts are documented and follow strict standards required for space-based systems.
Requirements
- Hold a Bachelor degree in computer science, engineering, math, or science; OR possess 2+ years of professional software development experience, including internships.
- Demonstrate proficiency in programming languages such as C, C++, Python, or Rust.
- Must be a U.S. citizen, lawful permanent resident, refugee, or asylee to meet ITAR requirements for handling sensitive technology.
- Availability to work extended hours and weekends is required as mission needs dictate operational schedules.
- Ability to obtain and maintain a U.S. government security clearance is mandatory for this role.
- Willingness to adhere to strict engineering standards and processes inherent to aerospace development.
- Capability to work effectively in a high-paced environment where technical challenges are frequent and intense.
- Commitment to ensuring the highest levels of safety and reliability in software products that control space systems.
Nice to have
- Experience with submitting and tracking Linux Kernel upstreamed patches to improve mainline compatibility.
- Familiarity with the Linux networking stack and general networking principles to optimize satellite communications.
- Knowledge of computer architecture and modern secure boot flows to enhance system integrity.
- Background in ARM embedded systems to assist with hardware-specific optimizations and driver development.
- Understanding of continuous integration, deployment, monitoring, and testing methodologies to streamline software delivery.
- Strong debugging, performance optimization, and unit testing capabilities to ensure robust software releases.
Skills & tools
- C, C++, Python, Rust, Linux, Buildroot, u-boot, ARM, Ethernet, Secureboot.
Practical notes
-
Compensation: Level I ($125,000 - $145,000) or Level II ($145,000 - $175,000) based on experience and skills.
- Benefits include medical, vision, dental, 401(k), life insurance, disability, paid parental leave, and stock options or long-term cash awards.
- Employees receive 3 weeks of paid vacation and 10+ paid holidays annually.
- Company shuttles are available from select Seattle locations to the Redmond office.