Qualified Technical Services
Software Engineer - C++, AI, NASA cFS
Qualified Technical Services, Mountain View, California, us, 94039
Work Location:
NASA Ames Research Center - Mountain View, CA - Temporarily Remote
Minimum Citizenship:
U.S. Citizen or Permanent Resident
JOB DESCRIPTION
- Software Engineer - C++, AI, NASA cFS
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.
***Must be U.S. Citizen or Permanent Resident***
Responsibilities will include:
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
REQUIREMENTS
- Software Engineer - C++, AI, NASA cFS
Education : B.S. (M.S. preferred) in Computer Science or related technical field
Year(s) of Experience : 4+ years of software development experience
Citizenship:
Must be a U.S. Citizen or Permanent Resident
Qualifications, Skills and Traits:
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
Desired Skills:
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
The Equal Employment Opportunity Policy of the QTS is to provide a fair and equal employment opportunity for all employees and job applicants regardless of race, color, religion, national origin, gender, sexual orientation, age, marital status or disability. QTS hires and promotes individuals solely on the basis of their qualifications for the job to be filled. QTS believes that employees should be provided with a working environment which enables them to be productive and to work to the best of his or her ability. We do not condone or tolerate an atmosphere of intimidation or harassment based on race, color, religion, national origin, gender, sexual orientation, age, marital status or disability. We expect and require the cooperation of all employees in maintaining a discrimination and harassment-free atmosphere.
NASA Ames Research Center - Mountain View, CA - Temporarily Remote
Minimum Citizenship:
U.S. Citizen or Permanent Resident
JOB DESCRIPTION
- Software Engineer - C++, AI, NASA cFS
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.
***Must be U.S. Citizen or Permanent Resident***
Responsibilities will include:
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
REQUIREMENTS
- Software Engineer - C++, AI, NASA cFS
Education : B.S. (M.S. preferred) in Computer Science or related technical field
Year(s) of Experience : 4+ years of software development experience
Citizenship:
Must be a U.S. Citizen or Permanent Resident
Qualifications, Skills and Traits:
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
Desired Skills:
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
The Equal Employment Opportunity Policy of the QTS is to provide a fair and equal employment opportunity for all employees and job applicants regardless of race, color, religion, national origin, gender, sexual orientation, age, marital status or disability. QTS hires and promotes individuals solely on the basis of their qualifications for the job to be filled. QTS believes that employees should be provided with a working environment which enables them to be productive and to work to the best of his or her ability. We do not condone or tolerate an atmosphere of intimidation or harassment based on race, color, religion, national origin, gender, sexual orientation, age, marital status or disability. We expect and require the cooperation of all employees in maintaining a discrimination and harassment-free atmosphere.