- Develop methods to integrate task planning and scheduling into autonomous spacecraft systems.
- Assess technologies for the development of advanced autonomous task execution.
- Develop methods to ensure plans respect resource constraints.
- Develop technology to enable large scale, distributed task planning and scheduling.
- Work with Flight Software experts to integrate planning technologies into flight critical software.
- Perform other duties as required.
- BS degree in engineering from an accredited engineering school and five (5) years of related engineering experience, or a MS degree from an accredited engineering school and four (4) years of related engineering experience, or Ph.D. from an accredited engineering school and zero (0) years of related experience.
- Experience with constrained task planning or scheduling algorithms, such as Mixed Integer Linear Programming (MILP).
- Experience with complex distributed systems.
- Experience using task planning, scheduling, and task execution technologies on cyber physical systems.
- Excellent communication, negotiation and coordination skills and strong customer service attitude.
- Experience developing software across the full Software Development Life Cycle (SDLC)
- Spacecraft Avionics and Software Architecture
- NASA software and systems development standards
- Proficiency with C/C++ coding
- Proficiency with Linux
- Proficiency with scripting languages such as Python