Senior Software Engineer/Computer Scientist, C++, AI/Autonomy Solutions for aviation and space exploration (ISRDS3) (R000184)

Mountain View, CA, USA

Full-Time Exempt Position

U.S. Citizenship Required

About the Role

The Planning and Scheduling Group at NASA Ames Research Center develops cutting-edge AI and autonomy solutions for aviation and space exploration. We seek a software engineer/computer scientist to focus on plan execution technologies.

The initial role centers around an open-source plan representation language and execution system called PLEXIL (plexil.sourceforge.net). The Planning and Scheduling Group is building automated and autonomous systems for NASA applications on a variety of platforms using PLEXIL. The successful candidate will work independently and with project teams to deliver these capabilities.

Responsibilities

  • Integration of the PLEXIL Executive into flight software frameworks such as Core Flight Software

  • Development of PLEXIL plans for space and aviation applications

  • Integration of PLEXIL with autonomy planners and schedulers

  • Evolution of the PLEXIL language

  • Maintenance, development, extension, and documentation of the PLEXIL suite: Executive, compilers, translators, visualization tools, etc.

  • Exploration and research of new or alternative technologies for plan execution and high- level autonomy relevant to NASA missions

Required Education/Experience/Skills

  • BS in Computer Science or a related field

  • 6 + years of professional software development experience

  • Expertise in C++ programming and object-oriented design and patterns

  • Strong aptitude in software development life cycle, including testing and documentation

  • Must be able to work independently and take full ownership of a project

  • Excellent verbal and written communication skills

Preferences

  • MS in Computer Science or related field

  • Prior experience with Core Flight Software (cFS) development and integration

  • Experience in robotics, autonomy/automation, aerospace, programming language design and implementation, AI

  • Knowledge of discrete control, reactive systems, automated planning and scheduling, formal methods

  • Experience developing portable C++ code for delivery on multiple platforms

  • Working knowledge of C++ language standards

  • Experience developing cross-platform build scripts with CMake, GNU autotools, and/or GNU make

  • Experience with additional programming languages: Shell scripting, Java, Python, XSLT

  • Experience developing real time OS applications

  • Experience with modern software management tools, e.g. the Atlassian suite (Jira, Bitbucket, Confluence, Bamboo)

  • Experience with Agile software development methodologies

Essential Requirements

***Must be U.S. Citizen or Permanent Resident***

In compliance with the U.S. federal government’s vaccine mandate, only candidates who will be fully vaccinated for COVID-19 by December 8, 2021 or who have a reasonable accommodation or approved medical exception will be considered for this position.