This site uses cookies. To find out more, see our Cookies Policy

Software Engineer I-II in Mountain View, CA at Universities Space Research Association

Date Posted: 4/16/2018

Job Snapshot

Job Description

USRA is the prime contractor for the NASA Academic Mission Services (NAMS) contract at NASA Ames Research Center. The NAMS mission is to perform strategic multi-disciplinary, integrative research and development that supports NASA’s and the U.S. Army Aviation Development Directorate’s (ADD) long-term mission requirements across aeronautics, space and earth sciences, and advanced information technologies.

Position Summary:

The candidate will serve as a key member of the task software development team to develop and maintain operator-in-the-loop simulations and flight control/display systems for unmanned aerial systems (UAS) and piloted helicopters, in support of the human/machine interface research under the U.S. Army Aviation Development Directorate’s Human-Systems Interface (HSI) Technical Area (TA) on-site at NASA Ames. The candidate will work with researchers, engineers, pilots, and other programmers in the Technical Area to develop software capabilities that meet requirements established by the researchers. As part of the software team, the candidate will participate in technical consulting, maintenance/upgrade of current software, new code generation, ensure compliance with DoD/industry software standards, documentation, specification of new purchase items (typically new computers and software), and operation of computer systems during helicopter simulations and/or flight tests. Software environment typically involves C++ and OpenGL running under the Linux and Windows operating systems.

Essential Duties/Responsibilities:

Participate in the development and modification of manned and unmanned vehicle operation research software:

  • Develop and test software code to support research in the unmanned vehicle operations field.
  • Integrate virtual scenes generated from external visualization software into manned/unmanned helicopter simulators.
  • Maintain the software and hardware used in the manned/unmanned simulator and provide recommendations for new or updated components.
  • Integrate commercial-off-the-shelf hardware with existing in-house simulation software, to include joysticks, touch-screen displays, and voice-recognition systems.
  • Program and validate data collection files to researcher's specifications in support of flight demonstrations and empirical studies.
  • Participate in internal code reviews and manage the software build and integration pipeline.

Required Qualifications:



  • B.S. in Aerospace Engineering, Software Engineering, Computer Science, or relevant Engineering field required
  • In Lieu of BS degree, 4 to 6 years of relevant software development experience required.  



  • 0 to 3 years of software development experience.
  • Proficiency in C/C++ and shell scripting (bash & powershell).
  • Experience with multiple operating systems: Linux and Windows.
  • Experience with 3-D graphics programming.
  • Knowledge in software development cycle, object-oriented software design and development, and software source control.
  • Knowledge in inter-process and network communication, and internet protocols such as UDP and TCP/IP.
  • Effective communication skills to support collaborations and interactions with research and software team members.


Licenses, Certifications:



Knowledge, Skills & Abilities:  

  • Proficiency in C/C++, OpenGL, shell script (bash & powershell), Linux, and Windows.
  • 3-D graphics programming experience.
  • Knowledge in software development cycle, object-oriented software design and development, software source control, inter-process and network communication, and internet protocols such as UDP and TCP/IP.
  • Ability to write high quality and maintainable code.
  • Open to learning new technologies and programming tools.
  • Excellent written communication skills along with strong organizational, analytical, and interpersonal skills.
  • Able to think independently and strategically and assess solutions for short and long term goals.
  • Demonstrated ability to interact effectively in an interdisciplinary team of scientists as well as independently.



  • C++, Visual Studio, gcc, Python, OpenGL, Qt, OpenSceneGraph, Virtual Battlespace (VBS3), Distributed Interactive Simulations, shell scripting (bash and powershell), UDP, TCP/IP, STANAG 4586, CVS, SVN, Mercurial, Git,


Preferred Qualifications:

  • Master’s degree in Aerospace Engineering, Software Engineering, Computer Science, or related Engineering field.
  • Working knowledge of OpenGL and/or OpenSceneGraph (OSG).
  • Working knowledge of Qt and other Graphical User Interface applications.
  • Prior experience with game engines such as Unity, Unreal, or ARMA.
  • Working knowledge of DIS, VBS3, or STANAG 4586.
  • Experience supporting scientific experimentation and system evaluations.
  • Knowledge of in-flight dynamics and flight instrumentation display.
  • Experience with Manned Unmanned Teaming (MUM-T) concepts and simulation environments.
  • Prior experience supporting scientific experimentation and system evaluations.


Working Conditions:

This job operates in a professional office environment. This role routinely uses standard office equipment such as computers, phones, photocopiers, etc. Extensive online usage. This is largely a sedentary role.



Minimal travel.

Applicants should apply to the posting at and include a letter of interest, resume, or curriculum vita.  Review of candidates will begin immediately.  Additional information on USRA can be found at

USRA is an Equal Opportunity Employer Minorities/Females/Protected Veterans/Disabled/Sexual Orientation/Gender Identity


  1. Software Engineer Jobs
  2. Project Engineer Jobs