Job Announcement Text:
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.