C++ Software Developer

2 weeks ago


Mountain View, CA, United States Qualified Technical Services Full time

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
 

NASA’s 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.
https://gameon.nasa.gov/projects/distributed-spacecraft-autonomy-dsa/ 
 

Responsibilities:
 

  • 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)
  • GTest


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


Desired Skills:
 

  • 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.

 
  • Software Developer

    5 days ago


    Mountain View, CA, United States First Tek Full time

    Responsibilities Embedded Software Development: Participate in the definition and design of embedded software for vehicle systems Assist hardware teams with component selection, schematic reviews, bring-up, and debugging Develop/integrate bootloaders, device drivers, kernels, and upgrade mechanisms Contribute to base software (BSP), MCAL, drivers,...

  • Software Developer

    2 weeks ago


    Mountain View, CA, United States First Tek Full time

    Responsibilities Embedded Software Development: Participate in the definition and design of embedded software for vehicle systems Assist hardware teams with component selection, schematic reviews, bring-up, and debugging Develop/integrate bootloaders, device drivers, kernels, and upgrade mechanisms Contribute to base software (BSP), MCAL, drivers,...

  • Software Developer

    2 weeks ago


    Mountain View, CA, United States First Tek Full time

    Responsibilities Embedded Software Development: Participate in the definition and design of embedded software for vehicle systems Assist hardware teams with component selection, schematic reviews, bring-up, and debugging Develop/integrate bootloaders, device drivers, kernels, and upgrade mechanisms Contribute to base software (BSP), MCAL, drivers,...

  • Software Developer

    2 weeks ago


    Mountain View, CA, United States Cenergy Corporation Full time

    Responsibilities Embedded Software Development: Participate in the definition and design of embedded software for vehicle systems Assist hardware teams with component selection, schematic reviews, bring-up, and debugging Develop/integrate bootloaders, device drivers, kernels, and upgrade mechanisms Contribute to base software (BSP), MCAL, drivers,...

  • Software Developer

    1 week ago


    Mountain View, CA, United States First Tek Full time

    Responsibilities Embedded Software Development: Participate in the definition and design of embedded software for vehicle systems Assist hardware teams with component selection, schematic reviews, bring-up, and debugging Develop/integrate bootloaders, device drivers, kernels, and upgrade mechanisms Contribute to base software (BSP), MCAL, drivers,...

  • Software Developer

    7 days ago


    Mountain View, CA, United States First Tek Full time

    Responsibilities Embedded Software Development: Participate in the definition and design of embedded software for vehicle systems Assist hardware teams with component selection, schematic reviews, bring-up, and debugging Develop/integrate bootloaders, device drivers, kernels, and upgrade mechanisms Contribute to base software (BSP), MCAL, drivers,...

  • Software Developer

    5 days ago


    Mountain View, CA, United States First Tek Full time

    Responsibilities Embedded Software Development: Participate in the definition and design of embedded software for vehicle systems Assist hardware teams with component selection, schematic reviews, bring-up, and debugging Develop/integrate bootloaders, device drivers, kernels, and upgrade mechanisms Contribute to base software (BSP), MCAL, drivers,...


  • Mountain View, CA, United States Waymo Full time

    Waymo is an autonomous driving technology company with the mission to be the world's most trusted driver. Since its start as the Google Self-Driving Car Project in 2009, Waymo has focused on building the Waymo Driver-The World's Most Experienced Driver™-to improve access to mobility while saving thousands of lives now lost to traffic crashes. The Waymo...


  • Mountain View, CA, United States Waymo Full time

    Waymo is an autonomous driving technology company with the mission to be the world's most trusted driver. Since its start as the Google Self-Driving Car Project in 2009, Waymo has focused on building the Waymo Driver-The World's Most Experienced Driver™-to improve access to mobility while saving thousands of lives now lost to traffic crashes. The Waymo...

  • Lead II

    5 days ago


    Mountain View, CA, United States Tranzeal Full time

    Responsibilities: • Develop compute-intensive and highly performant test applications running on the MAIA hardware systems, focusing on PCIe, Memory, back-end network & TDP workloads. • Design and develop workload profiling and analysis tools that capture and benchmark the runtimes of various compute blocks and/or hardware accelerators. • Develop...