Bachelor's degree in Computer Science, Electrical Engineering, or a related field
Proficient in Python, C++, and Rust
Experience with real-time systems on distributed hardware
Knowledge of embedded Linux and creating Linux distributions (Yocto)
Familiarity with satellite systems and communication protocols like CCSDS
Experience with software testing and validation for real-time systems
Responsibilities
Design and implement mission-critical software for satellite systems
Support spacecraft commissioning and ensure operational functionality during launches
Manage software solutions from design through deployment
Conduct unit, integration, and system-level testing of software components
Collaborate with various teams to define product requirements and technical roadmaps
Benefits
Equity shares in Apex for employees
Comprehensive healthcare coverage with 99%+ premiums paid for dependents
Generous PTO starting at 15 days, increasing with tenure
Competitive 401(k) plan with substantial company matching
Paid parental leave and childcare reimbursement
Catered lunch and unlimited snacks
Engaging community events and activities
Top-notch tools and workspace to enhance productivity
State-of-the-art office located in Playa Vista with EV chargers
Full Job Description
As a member of the flight Software team, you will design, develop, and own the software driving the autonomous operation of Apex's satellite buses. You will be responsible for developing mission critical systems that operate reliably 24/7, ensuring that Apex's spacecraft continue to operate in all scenarios.
In this role, you will work closely with both internal teams and external customers, aligning your solutions with company objectives and user requirements. We are looking for motivated engineers who are eager to solve complex problems with a focus on practicality and scalability, and who thrive in a dynamic, fast-paced environment.
Responsibilities:
Design, implement and own mission critical software applications for satellite systems.
Support commissioning of spacecraft during launch and early operations and ensure software systems remain functional during critical operations.
Own spacecraft software solutions through the full lifecycle from initial design to deployment.
Perform unit testing, integration testing, and system-level testing of software components, identifying and resolving any defects or issues.
Collaborate with cross-functional teams to baseline product requirements and technical roadmaps.
Requirements:
U.S. Person status is required as this position needs to access export controlled data.
1+ years of total flight software experience
Bachelor's degree in CS, EE or equivalent.
Strong proficiency in programming languages such as Python, C++, Rust.
Experience with real time systems running on distributed hardware.
Knowledge of embedded Linux operating systems, system administration and creating Linux distributions (Yocto).
Familiarity with satellite systems and protocols, such as CCSDS, and ECSS.
Experience with software integration, testing, and validation for real-time and distributed systems.
Familiarity with network protocols (TCP/IP, UDP), secure communication systems, Protobuf and encryption.