About the Role
About the Role
The Senior Software Engineer will join the Sat OS team to develop software for satellite systems, focusing on Rust-based services and hardware integration. This role involves migrating legacy systems, implementing fault-tolerant designs, and collaborating with engineering teams to enhance space-based capabilities.
What You’ll Do as a Sat OS Software Engineer
- Develop services in Rust that interface with hardware integration layers using modern protocols.
- Implement communication interfaces between higher-level processes, including ground to space commanding.
- Migrate legacy Python systems to a new Rust-based, distributed architecture.
- Contribute to the design and implementation of fault-tolerant systems to meet the demands of new customer missions.
- Collaborate closely with the Platform Engineering team to ensure optimal software-hardware integration.
- Create and maintain comprehensive documentation for APIs and system architectures.
- Contribute to the continuous improvement of our development processes and tools.
- Perform ground-based testing and in-orbit verification of new software services.
- Implement observability solutions for satellite-side services.
Key Skills
- 7+ years' experience in professional software development.
- Proven experience in production-grade software development using Rust.
- Proficiency in Python or equivalent high-level language.
- Knowledge of Linux-based development.
- Experience with inter-process communication protocols (such as gRPC).
- Ability to communicate effectively with embedded software engineers.
- Excellent documentation skills.
Preferred Skills
- Familiarity with safety-critical software systems in any industry.
- Knowledge of version control systems, particularly Git and GitHub.
- Familiarity with CI/CD pipelines.
- Experience with project management tools.
- Proficiency in scripting languages like Bash.
- Understanding of cybersecurity principles systems.
- Knowledge of telemetry and command systems.
- Experience in implementing Fault Detection, Isolation, and Recovery (FDIR) systems for high-level or embedded applications.
Tools and Technologies
- Rust, Python, Bash.
- Ubuntu (development environment).
- gRPC (inter-process communications).
- Version control using Git.
Global Perks
- Name Your Satellite Program (NYSP).
- Launch Attendance.
- Generous Time Off Policy.
- Education Assistance Program.
- Employee Assistance Program (EAP).
- Employee Stock Purchase Program (ESPP).
- Family Leave.
- Fitness Reimbursement.
- Employee Referral Program.
- Healthy snacks & beverages in every office.
Requirements
Rust development
Proven experience in production-grade software development using Rust.
Software engineering experience
7+ years' experience in professional software development.
Python proficiency
Proficiency in Python or equivalent high-level language.
Linux knowledge
Knowledge of Linux-based development.
Inter-process communication
Experience with inter-process communication protocols such as gRPC.
Nice to Have
Familiarity with safety-critical software systems in any industry.
Knowledge of version control systems, particularly Git and GitHub.
Familiarity with CI/CD pipelines.
Proficiency in scripting languages like Bash.
Benefits
Generous Time Off
Enjoy a generous time off policy.
Education Assistance
Access to an education assistance program.
Employee Stock Purchase
Participate in the employee stock purchase program.
Fitness Reimbursement
Receive reimbursement for fitness-related expenses.