The Software Engineer for the Data Processing System (DPS) is responsible for designing, developing, analyzing, modifying, and maintaining scientific data processing pipelines and associated software tools. The DPS software engineer will also support manual reduction of data, quality assurance assessments of the pipeline products, and archiving of the data products. Senior software engineers may have additional project leadership, communication, and mentoring duties.
- Independently conceptualize and design pipeline solutions including new algorithms, bug fixes, and improvements / upgrades to meet the needs of SOFIA program.
- Build, deploy, and verify pipelines in production and test environments; support the pipeline and instrument scientists during verification and validation activities.
- Integrate and test pipelines within the DPS architecture; support any design, implementation, and testing activities for upgrades to the DPS pipeline architecture.
- Develop and maintain manuals describing software, algorithms, and application usage.
- Document system builds and application configurations; maintain and update documentation as needed.
- Support and test the pipelines and pipeline algorithms, manual reduction of data, quality assurance assessments, and archiving of the data.
- Support pipeline scientists using the data processing database for calibration and re-processing activities.
- Follow team software development methodology.
- Ensure the protection of NASA and USRA intellectual property with respect to commercial and International Traffic in Arms Regulations (ITAR) and the Export Administration Regulations (EAR) concerns through disclosures, patent applications, and adherence to NASA’s scientific and technical information dissemination guidelines.
- Support efforts by USRA Management to ensure that USRA conducts its business operations in an effective, cost-competitive, and professional manner.
- Complete required trainings as scheduled.
- Other job-related duties as assigned.
- Additional duties for the senior software engineer:
- Serve as project leader, directing design and development priorities for large, complex DPS software projects.
- Present DPS work in technical papers or at relevant conferences.
- Mentor other software engineers as needed.
- Bachelor’s degree in software engineering, computer science, physics/astronomy, or a related science/engineering field or equivalent is required, or combination of education and relevant experience.
- Degree in Physics or Astronomy is highly desired.
- Master’s degree is preferred for the senior level.
- Experience with scientific Python is required. Experience with IDL is a plus.
- Experience with UNIX/Linux operating systems is required.
- At least 3 years of software development experience in science applications or related area is required. At least 10 years experience is required for the senior level.
- Experience in an astronomy-related software position is highly desired.
Knowledge, Skills & Abilities:
- Expertise in designing, developing, testing, and deploying applications.
- Proficiency with application design and data modeling.
- Strong technical knowledge of scientific Python development with an ability to select, adapt, and effectively use a variety of programming methods.
- Ability to define and solve logical problems for highly technical applications.
- Ability to independently develop schedules with detailed milestones and complete projects as assigned on schedule.
- Ability to work effectively and professionally in a team environment (co-workers, customers, and supervisors).
- Excellent written and verbal communication in English is required, with an ability to write routine reports and correspondence and speak effectively before groups of customers or employees of organization.
- Ability to lead activities on structured team development projects.
- Ability to effectively utilize MS Office suite: Outlook, Word, Excel, PowerPoint.
This job operates primarily in a professional office environment. This role routinely uses standard office equipment, such as computers, phones, photocopiers, etc. Keyboarding for large time spans each day will be a significant part of this position.
Occasional work on board the SOFIA observatory, on the ground or in flight, may be required. Some aspects of the job may require night-time work away from the home base.
While performing the duties of this job, the employee may occasionally be exposed to fumes or airborne particles, moving equipment, vehicles and mechanical parts. The noise level in the work office environment is typically mild. The environment on the aircraft during flight operations may become noisy and tiring. The employee must be capable of performing all duties in a technical/scientific setting including offices, laboratories, shops, and aircraft maintenance facilities as well as on the aircraft/observatory, both while on the ground and during flights.
The position is based at NASA Ames Research Center; occasional travel to Armstrong Flight Research Center may be required.
Applicants should apply to the posting at USRA Careers and include a letter of interest, resume, or curriculum vita. Additional information on USRA can be found at www.usra.edu.
USRA is an Equal Opportunity Employer: Minorities / Females / Protected Veterans / Disabled / Sexual Orientation / Gender Identity.