|Published||August 25, 2022|
|Location||Mountain View, CA|
Work Location: NASA Ames Research Center - Mountain View, CA
Minimum Citizenship: U.S. Citizen (This position requires access to ITAR and/or EAR protected data)
Clearance: US Government
JOB DESCRIPTION - C++ Software Developer - NASA Spacecraft Autonomy
NASAs Distributed Spacecraft Autonomy is centered out of NASA Ames Research Center located in Mountain View, CA. Distributed Spacecraft Autonomy is investigating how the next generation of spacecraft will be operated and interact with each other. We believe that the benefits of distributed systems (availability, fault-tolerance, graceful degradation, etc.) are critical for future space exploration. To truly see the benefits of distributed spacecraft they need to be treated as a single entity with each member autonomously managing responsibilities and sharing requirements.
As a team we are developing the core infrastructure for autonomous coordination between spacecraft as well as both in space and ground application demonstrations. We value open discussion and pollination of ideas with each team member taking ownership of a domain but contributing to others.
- Continue development and maintenance of communication application for communication among satellites in the swarm
- Participate in the creation of message definitions for spacecraft communication bus
- Support development of hardware-in-the-loop and processor-in-the-loop simulations
- Develop relevant documents including design, interface specification, test and reports
- Perform unit/integration tests and code reviews
Tools we use:
- C++14, C++ templates, C++ standard & C++ Boost libraries, CMake
- Atlassian Software Development Tools (Confluence, JIRA, Bitbucket, Bamboo)
REQUIREMENTS - C++ Software Developer - NASA Spacecraft Autonomy
Education: BS in Computer Science or related field
Year(s) of Experience: 2+ years extensive C++ experience and 4+ deep experience in C development
Qualifications, Skills and Traits:
- Ability to work in research/quick prototyping/small team/independent/low-supervision environment
- Practical knowledge of software development life-cycle best practices (e.g. best practices in development, code reviews, testing, and integration)
- Must have problem solving skills and prior experience with software integration and integrated systems
- Excellent communication skills with multi-disciplined technical local and remote teams
- Familiarity with Core Flight Software (cFS) or similar flight software
- Experience developing and debugging realtime and embedded software
- Prefer experience with Messaging services, particularly the Object Management Group (OMG) Data Distribution Service (DDS) middleware protocol and API standard but willing to train.
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.