About The Role
As the first Senior Embedded Software Engineer at Reflect, you will architect and write the embedded flight software for our initial satellite, launching in 2025. You will invent new technologies as well as re-use time tested aerospace components to rapidly build a reliable, ruthlessly simple, low-cost system. Your work will establish successful communication with, control, update, and ultimately troubleshooting of the vehicle in-mission, and as such, comes with significant responsibility. Beyond the first mission, you will be able to scale your initial architecture into Reflect’s next vehicles that we intend to produce at scale.
Responsibilities
- Architect and implement the flight software for Reflect’s first satellite, including selecting and implementing operating systems, mission management software, command and data handling, and communication software.
- Write software that works the first time, is easily validated, modular, and can be easily introspected.
- Deliver highly reliable, fault tolerant and remote-updatable software systems that are robust to the LEO environment.
- Collaborate with avionics engineers on component and processor selection and electrical system architecture.
- Implement and/or integrate software for electromechanical components such as star sensors, ADCS, motors, battery manage systems, thermal systems, communication systems, sail deployment mechanism, and cameras.
- Design embedded software systems to readily support satellite subsystem hardware testing.
- Design embedded software for ease of validation and implement tests, including unit tests, software simulation and HIL/flatsat.
- Set best practices and lead by example in software development, version control, release and validation processes.
Ideal Qualifications
- Experience implementing C, C++ and/or Rust software on autonomous electromechanical systems such as robots, autonomous vehicles, drones or spacecraft.
- A strong understanding of software design and architecture for high reliability systems, including design for fault tolerance, validation, remote operation and update.
- Experience architecting high-reliability electromechanical systems, either independently or in collaboration with avionics engineers.
- Experience operating and learning from a deployed electromechanical system.
- You thrive with a high level of independence and autonomy, and collaborate gladly. You understand when is the right time for deliberation and when is the right time to build quickly and let the work speak for itself.